我有一个表单,其中“提交”按钮不在< form>标签。提交按钮有一个点击处理程序通过jQuery的submit()事件提交表单。这样做完美。
但是,我需要提交按钮的值也被POST。由于该按钮不存在于< form>标签,它不包括在POST数组中。因此,在提交表单时,我需要设计一种传递额外变量的方法。
实现这一目标的一些规定包括:
>提交按钮不能在< form>内移动标签。
>它不能使用jQuery ajax,post或get方法。
>它不能隐藏输入字段或提交CSS隐藏的按钮。
>表单必须像在表单中有一个普通的“提交”按钮一样行事。
我设想了一些东西,但显然这不行。
$('#admin_form').submit({'variable_name','true'});
任何人有什么想法可以如何实现这一点?
解决方法
您可以做的一件事是使用onsubmit属性将JavaScript注入到表单中,并提交提交按钮的值。您必须使用隐藏的输入字段执行此操作,但您只需在用户单击提交按钮后立即添加输入字段,因此输入字段从一开始就不会存在(希望满足您的要求)。所以这样的东西:
function submitHandler() { submitVal = $('#submitButton').val(); $('#myForm').append("<input type='hidden' name='submitValue' value='"+ submitVal+"' />"); return true; }
当按钮被点击时,它将附加额外的值。