我有一个form
, 里面有几个<input>
标签。我有一个表单之外<input>
的提交按钮(实际上是type BUTTON
,not SUBMIT
)。我的表单设置与此类似-</p>
<form name="testform" id="testform" action="test.jsp" onsubmit="return modify_value();" method="POST">
<input name="test1" id="test1" type="TEXT" value="A"/>
<input name="test2" id="test2" type="TEXT" value="B"/>
<input name="test3" id="test3" type="HIDDEN"/>
</form>
表单外的提交按钮就是这样定义的——</p>
<input type="BUTTON" id="_submit" onclick="document.forms[0].submit();"/>
modify_value()
JavaScript 方法看起来像这样——</p
>
function modify_value()
{
var hidden_field = document.getElementById('test3');
hidden_field.value = 'new_test_value_set_on_clicking';
return true;
}
单击提交按钮时,我试图在test3
提交表单之前修改元素的值。出于某种原因,我永远无法读取 servlet 中的新值。
替代方法 - (也不起作用)工作!
我也尝试过以稍微不同的方式提交表单 - 通过将按钮的onclick
事件设置为指向该modify_value()
方法并在该方法的最后一行,调用form.submit()
而不是返回一个值(编辑:当然,删除onsubmit
属性表格)。这也不起作用。
我在这里做错了什么?