2

在表单中,我有一个按钮作为输入/提交。当我提交按钮的值是发送。
如果我改为输入/按钮并通过JQuery$("form").submit()提交表单进行提交,但未发送按钮的值。为什么?我该如何解决这个问题?

<form name="myform" id="myform" action="http://localhost/mypage.html" method="POST" >    
<input type="button" id="btn" value="Actual value" name="save" >  
</form>   


$(document).ready(function() {   
 $("#btn").click( function() {   
     $("myform").submit();  
  }
}  
4

5 回答 5

4

按钮与输入不同,这就是按钮不添加到表单提交的原因。您可以在按钮旁边添加一个隐藏类型的输入,其中包含您想要的值。

否则,您将不得不在表单提交后使用 jquery 来获取按钮以获取其值。

于 2013-08-28T16:25:19.080 回答
0

尝试使用此代码

$(document).ready(function() {   
 $("#btn").click( function() {   
     $("myform").submit();  
  });
});
于 2013-08-28T16:41:32.623 回答
0

尝试 name="Actual Value" ,然后尝试使用 POST['name'] 访问服务器上的值,它会让您获得实际值。

于 2013-08-28T17:25:04.190 回答
0

看起来您的 javascript 在语法上不正确。

你的代码

$(document).ready(function() {   
    $("#btn").click( function() {   
        $("myform").submit();  
    }
} 

应该是这样的

$(document).ready(function() {   
    $("#btn").click(function() {   
        $("myform").submit();  
    });
});

您缺少两个右括号和两个分号。

如果这没有帮助,请为您的按钮尝试此操作:

<input type="submit" name="save" value="Actual Value" />

确保您的服务器端代码也准备好接受save参数。无法将代码发送到不想接收它的东西!

于 2013-08-28T17:32:36.187 回答
0

您可以使用 input="submit" 按钮和 preventDefault(); 如果您想有条件地检查表单提交的功能

$("#btn").click(function(event){        

        if(truePart){   
            $(this).unbind('click').click();        

        }else{
             event.preventDefault();
             alert("Please fill the required fields");              
        }
    });  
于 2013-08-28T16:48:48.877 回答