【发布时间】: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