【问题标题】:Different Values in Form Inputs表单输入中的不同值
【发布时间】:2014-06-10 23:05:34
【问题描述】:

我有一个简单的 HTML 表单,它与 PHP 脚本一起工作(处理值)。

由于某种原因,它无法正常工作。经过多次测试,我检查了表单的标记,发现:

<form id="delete_item_3_form" action="upload/delete_item.php" method="post">
<input type="hidden" value="4" name="item_id">
<input type="hidden" value="test" name="item_info">
</form>

应该如此。请注意,输入的值是硬编码

但是,如果我转到浏览器控制台(我使用的是 Chrome)并写:

$('#delete_item_3_form');

我明白了:

<form id="delete_item_3_form" action="upload/delete_item.php" method="post">
<input type="hidden" value="4" name="item_id">
<input type="hidden" value name="item_info">
</form>

如您所见,第二个输入 item_info 的值是空的。两个输入都有一个名称。

我对表单处理并不陌生,但我从未见过这种情况。页面标记在表单中显示一件事,而对同一表单的简单 jQuery 调用显示另一件事。

在我的脚本中,我没有任何东西可以更改输入的值。

通过按下按钮提交表单。这是jQuery代码:

$('#delete_item').click(function()
{
    $("#delete_item_3_form").submit();
});

这是怎么回事?

【问题讨论】:

  • 我认为 jquery 不会在您输入值时实时更新 DOM。您看到的是 jquery 第一次解析它时的 DOM 状态。但是当你查询时,你总是会得到更新的值。
  • 这些值不是用户输入的,在本例中是硬编码的。
  • 问题是,当我查询时,我在“item_info”中得到一个空值。在我的脚本中,我没有更改“item_info”输入的值。

标签: javascript php jquery forms post


【解决方案1】:

我在页面中有另一个具有相同 ID 的表单。

【讨论】:

  • 我知道通常你不应该有多个具有相同 id 的元素,但是如果页面上有很多元素,jquery 不会返回这些元素的数组,或者它会在第一个停止找到一个(假设上述情况)?
  • 它只会返回第一个。
  • 没错。第一个在其“item_info”输入上没有设置任何内容。
猜你喜欢
  • 1970-01-01
  • 2015-03-09
  • 2011-05-11
  • 2017-04-05
  • 2019-06-18
  • 1970-01-01
  • 2014-08-25
  • 2020-06-11
  • 1970-01-01
相关资源
最近更新 更多