在我的HTML表单提交之前,我在隐藏的输入元素中放了一些值,这些值不是随表单一起提交的,有任何错误或什么?
例如:
以下是我的表单功能:
<form id="clientForm" name="clientForm" method="post" enctype="multipart/form-data" action="clients.php" onClick="beforeSubmit(); return false;">
<input type="text" name="OLD_BRANCH_FILTERS_ALL" id="OLD_BRANCH_FILTERS_ALL" value="">
</form>
以下是我的JS功能:
<script language="javascript" type="text/javascript">
function beforeSubmit(){
$('#OLD_BRANCH_FILTERS_ALL').attr('value', 'xyz');
alert(document.getElementById('OLD_BRANCH_FILTERS_ALL').value);
document.clientForm.action = 'clients.php?saveBtn=Save';
document.clientForm.submit();
}
</script>
现在,当我在PHP中检查表单请求$_REQUEST
时,它在元素中没有显示任何值。
任何线索,为什么它不起作用。
提前致谢!
答案 0 :(得分:1)
您的onlick未及时调用以设置值,请尝试这种方式
<form id="clientForm" name="clientForm" method="post" enctype="multipart/form-data" action="clients.php">
<input type="text" name="OLD_BRANCH_FILTERS_ALL" id="OLD_BRANCH_FILTERS_ALL" value="">
</form>
和jquery
$('#clientform').submit(function() {
beforeSubmit();
});
另外,如果您还想对可以使用的字段进行验证,
$('#clientform').submit(function(e) {
beforeSubmit();
if (!{VALID}) {
e.preventDefault();
}
});