【发布时间】:2009-09-02 01:10:11
【问题描述】:
一个简单的 HTML 表单:
<form enctype="application/x-www-form-urlencoded" method="post" action="/view/album/id/4"><ol>
<li class="no-padding"><div class="element">
<input type="hidden" name="media" value="" id="media" /></div></li>
<li class="no-padding"><div class="button">
<input type="submit" name="add_to_favorites" id="add_to_favorites" value="Add To Favorites" /></div></li></ol></form>
JQuery:
$('#add_to_favorites').hover(function() {
var id = 10;
// alert(id);
$('#media').val(id);
});
这基本上意味着当您将鼠标悬停在表单的提交按钮上时,jQuery 会将 10 设置为 #media 隐藏字段的值。
当我点击提交按钮时,隐藏字段返回 NULL:
var_dump($_POST);
// this will return:
// array(2) { ["media"]=> NULL ["add_to_favorites"]=> NULL }
编辑:
我用 alert() 测试了 "var id" 的值和隐藏字段的值,它们设置正确。
EDIT2:
页面上也触发了一个click()事件,完整代码如下:
$(document).ready(function() {
$('.box-content2 a').click(function() {
var path = $(this).attr('href');
var title = $('img', this).attr('alt');
var id = $(this).attr('id');
$('#media-photo img').attr('src', path);
$('#media-photo img').attr('alt', title);
$('#media-photo img').attr('id', id);
return false;
});
$('#add_to_favorites').hover(function() {
var id = 10;
$('#media').val(id);
});
});
【问题讨论】:
-
等一下。所以你已经检查了隐藏字段的值设置正确吗?那么是提交点击事件导致该值再次为空?
-
您是否尝试将其更改为 .click 而不是 .hover,以查看它是否适用于单击事件?也许问题在于悬停。
-
我测试了您的表单代码和 jQuery,它在我的测试页面上运行良好。是否触发了任何 onsubmit 事件?
-
@zombat:不。只触发了另一个 click() 事件,这应该不是问题,但我会将其添加到我的帖子中。
-
有趣的是提交按钮也是NULL。
标签: php javascript jquery