页面完成加载后,用户会设置一个变量。
这存储在以下内容中:
var finalX;
我有一个表格,一旦设定了这个值就会提交。
我需要将其附加到以下内容:
<input type="hidden" name="x" />
由于它可以随时更改,直到提交表单,因此需要在单击表单按钮时选择它。
任何帮助将不胜感激:)
答案 0 :(得分:3)
您可以使用简单的提交侦听器:
<form onsubmit="this.x.value = finalX;" ...>
或者附上onload:
window.onload = function() {
document.forms['formName'].onsubmit = function() {
this.x.value = finalX;
}
}
或者如果您有多个提交侦听器:
window.onload = function() {
document.forms['formID'].addEventListener('submit',function(){this.x.value=finalX},false)
}
答案 1 :(得分:1)
您可以使用.submit()
功能捕获表单的实际提交。
然后你可以用隐藏的字段注入适当的值:
$( "#your_form" ).submit( function() {
console.log( "Handler for .submit() called." );
$( "input", {
"type": "hidden",
"name": "x",
"value": your_hidden_value
} ).appendTo( "#your_form" );
});
如果HTML中已存在隐藏字段,则只需设置值:
$( "#your_form" ).submit( function() {
console.log( "Handler for .submit() called." );
$( "input:hidden[name='x']" ).val( your_hidden_value )
});
答案 2 :(得分:0)
jQuery aproach:
$('#yourForm').submit(function(e) {
this.x.value = finalX;
});
答案 3 :(得分:0)
除了其他答案,您也可以考虑这个
如果设置了finalX
值,您可以在其下方添加以下行
$('#yourForm input[name=X]').val(finalX);
如果您不使用jQuery并假设您只有一个input[name="X"]
元素,则可以尝试使用以下行
var ele = document.getElementsByName("X");
if(ele.length > 0) ele[0].value = finalX;