Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
Javascript jQuery提交表单dosen';行不通_Javascript_Jquery - Fatal编程技术网

Javascript jQuery提交表单dosen';行不通

Javascript jQuery提交表单dosen';行不通,javascript,jquery,Javascript,Jquery,我有这个代码,但表单不会提交。 你知道为什么吗 $(document).ready(function(){ $("#login_form").submit(function(e){ e.preventDefault(); var password = $("#password").val(); var p = document.createElement("input"); $("#login_form").append(p); p.name = "p";

我有这个代码,但表单不会提交。 你知道为什么吗

$(document).ready(function(){
$("#login_form").submit(function(e){
    e.preventDefault();
    var password = $("#password").val();
    var p = document.createElement("input");
    $("#login_form").append(p);
    p.name = "p";
    p.type = "hidden";
    p.value = hex_sha512(password);
    $("#password").val('');
    $("#login_form").submit();
});    
});

#password的值不会重置为零,因此ID是正确的。

您不需要
e.preventDefault()
,它阻止表单提交,因此您应该删除
e.preventDefault()

$(document).ready(function () {
    $("#login_form").submit(function (e) {
        var password = $("#password").val();
        var p = document.createElement("input");
        $("#login_form").append(p);
        p.name = "p";
        p.type = "hidden";
        p.value = hex_sha512(password);
        $("#password").val('');
    });      
});

表单未提交,因为您在其中有
e.preventDefault
来停止提交。然后再次触发
submit
事件,陷入递归循环


删除
e.preventDefault
删除
e.preventDefault(),它将阻止表单提交,甚至触发提交事件

$(document).ready(function(){
    $("#login_form").submit(function(){    
        var password = $("#password").val();
        var p = document.createElement("input");
        $("#login_form").append(p);
        p.name = "p";
        p.type = "hidden";
        p.value = hex_sha512(password);
        $("#password").val('');
    });    
});

在进行更改后触发本机提交

$(document).ready(function(){
    $("#login_form").submit(function(e){
        e.preventDefault();
        var password = $("#password").val();
        var p = document.createElement("input");

        p.name = "p";
        p.type = "hidden";
        p.value = hex_sha512(password);

        $("#login_form").append(p);
        $("#password").val('');

        this.submit(); // native handler
    });    
});

在插入隐藏输入后触发本机提交,确保表单提交时它在那里。

请共享jsfillde或html代码。您真的需要防止默认行为吗?这似乎是您想要执行的操作???