当我使用inputtype=按钮时,它的值不会发送到服务器

When I use input type=button the value of it is not send to the server

本文关键字:服务器 inputtype 按钮      更新时间:2023-09-26

在表单中,我有一个按钮作为输入/提交。当我提交按钮的值是发送
如果我改为输入/按钮,并通过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();  
  }
}  

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

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

尝试使用此代码

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

您可以将input="submit"按钮与preventDefault()一起使用;如果你想有条件地检查表单提交

$("#btn").click(function(event){        
        if(truePart){   
            $(this).unbind('click').click();        
        }else{
             event.preventDefault();
             alert("Please fill the required fields");              
        }
    });  

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

看起来您的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参数。无法将代码发送到不想接收代码的对象!