我有一个非常简单的形式。我正在使用Ajax提交。表格工作正常。但是当我尝试使用php来检查在执行代码之前是否按下了输入按钮时,它似乎没有拿起按钮。 任何关于做什么的建议都会很棒。我添加了一个sam [以下代码的文件
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form class="Email-student" method= "post">
<input class="form-control" type="text" name="Email-subject" placeholder="Email Subject">
<textarea class="form-control" id="message" name="Email-message" placeholder="Enter messages"></textarea>
<input type="submit" id="btnSubmit" name="btnSubmit" value="Save Changes" />
</form>
<script>
$(document).ready(function(){
$('.Email-student').submit(function(e){
e.preventDefault();
var url = "mysql.php"; // the script where you handle the form input.
$.ajax({
type: "POST",
url: url,
data: $(this).serialize(), // serializes the form's elements.
success: function(data) {
//$('.Email-student').html(data);
alert(data);
}
});
})
})
</script>
这是我的Php文件的简化版
if (isset($_POST['btnSubmit'])) {
echo 'btnSubmit';
}
答案 0 :(得分:1)
serialize()
不会在表单中包含任何提交按钮。如果用于提交表单,它们只是成功的控件,serialize()
:
因此,isset($_POST['btnSubmit'])
将不属实。
使用其他一些机制来确定您是否感兴趣的表单数据(例如Email-subject
字段的存在)。