Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在onclick期间动态更改表单值并提交_Java_Javascript_Html_Jakarta Ee - Fatal编程技术网

Java 如何在onclick期间动态更改表单值并提交

Java 如何在onclick期间动态更改表单值并提交,java,javascript,html,jakarta-ee,Java,Javascript,Html,Jakarta Ee,我正在锚定标记中使用onclick事件。当我点击锚点时,我调用了一个java脚本函数,在这里我更改了一个输入元素的值并提交了表单。值已更改,但表单未提交值。请帮我做这个。仅供参考,如果我在提交前创建一个元素并添加到表单中,它会起作用。为什么在第一个场景中不起作用 <form name="form" > <input type="hidden" name="input" value="test"/> <a onclick='testMe

我正在锚定标记中使用onclick事件。当我点击锚点时,我调用了一个java脚本函数,在这里我更改了一个输入元素的值并提交了表单。值已更改,但表单未提交值。请帮我做这个。仅供参考,如果我在提交前创建一个元素并添加到表单中,它会起作用。为什么在第一个场景中不起作用

<form name="form" >    
    <input type="hidden" name="input" value="test"/>    
    <a onclick='testMethod("test")'>click </a>    
</form>

这里的主要问题是,当输入没有设置时,您试图通过id访问输入:

(将
id
添加到表单中,并将
id
添加到输入中,以便我们可以轻松地选择它们):

您还可以更新代码,这样您就不会在DOM中包含到onclick方法的绑定,而是直接在javascript中附加到它:

元素更改为具有ID:

<form name="form" id="form">
    <input type="hidden" name="input" id="input" value="test" />
    <a id="submitLink">click</a>
</form>

张贴一些代码。使用
alert
input设置正确后,检查
input
的值会更容易。但是,他不屈服。但是,如果我创建一个元素并将其附加到表单中,我将在控制器中获取数据。此场景有任何限制吗?
jQuery(“#form”)
永远不会为空-但它可能为空。@sridhar您的意思是在调用
testMethod
页面时未提交?
<form name="form" id="form">
    <input type="hidden" name="input" id="input" value="test" />
    <a onclick='testMethod("test")' >click</a>
</form>
function testMethod(value)
{
    var form = $('#form');
    if(serviceName != null && form.length)
    {
        $('#input').val(value);
        form.attr('action', $('#newAction').val());
        form.submit();
    }
}
<form name="form" id="form">
    <input type="hidden" name="input" id="input" value="test" />
    <a id="submitLink">click</a>
</form>
$(document).ready(function() {
    $('#submitLink').on('click', function(event) {
        event.preventDefault();
        var form = $('#form');
        if(serviceName != null && form.length)
        {
            $('#input').val(value);
            form.attr('action', $('#newAction').val());
            form.submit();
        } 
    });
});