我有这个表格:
<form id="segform" action="TestServlet" method="POST" >
<div id="actives" class="rounded-corners">
<div class="column">
<div class="portlet"><a href="#">link1</a></div>
</div>
</div>
<div id="inactives" class="rounded-corners">
<div class="column">
<div class="portlet"><a href="#">link2</a></div>
</div>
</div>
<input type="hidden" name="ffactives" value="foovalue" />
<input type="hidden" name="ffinactives" value="foovalue" />
<input type="submit" />
</form>
我需要在提交表单时将链接的内容设置为输入:
ffactives =“ link1”而不是“ foovalue”
ffinactives =“ link2”而不是“ foovalue”
我现在使用jQuery代码:
$('#segform').submit(function(){
var act = $('#actives div.column div.portlet a').text();
var inact = $('#inactives div.column div.portlet a').text();
$('input[name=ffactives]').val(act);
$('input[name=ffinactives]').val(inact);
return true;
});
但是,当我收到输入时,值未更改。
我方面ffactives =“ link1”和ffinactives =“ link2”,但是我收到ffactives =“ foovalue”和ffinactives =“ foovalue”
怎么了
最佳答案
您所拥有的是按面值you can test it here起作用的,需要检查以下几件事:
这是在document.ready
处理程序中运行吗?例如您的代码应包装在$(function() { /* current code */ });
,以使$('#segform')
直到<form>
在DOM中并准备好被发现之前才运行(否则,它会将submit
处理程序挂钩最多0个元素。
您遇到任何JavaScript错误吗?如果在代码运行之前发生任何问题,将不会绑定submit
处理程序,并且您将获得默认的提交行为……这就是您所看到的。