一个简单的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);
});
});
答案 0 :(得分:1)
您应该为悬停事件定义两个函数。一个用于鼠标悬停,一个用于鼠标悬停。所以你的悬停事件将如下所示:
$('#add_to_favorites').hover(function() {
var id = 10;
// alert(id);
$('#media').val(id);
}, function() {
// Probably do nothing here.
});
也许你最好不要绑定到mouseover事件?
答案 1 :(得分:1)