我的问题只是我想在一个带有空操作的div中提交一个表单作为同一页面中的php脚本, 一个简单的例子来说明我的页面太长
<html>
<head>
<script>
$(document).ready(function() {
$("#myDiv").delegate("form", "submit", function(event) {
$.ajax({
data: $(this).serialize(),
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(response) {
$("#myDiv").slideUp(500, function() {
$("#myDiv").html(response);
$("#myDiv").slideDown(500);
});
}
});
return false;
});
});
</script>
<head>
<form method="post" action="">
<p> enter your name</p> <input type="text" name="name" />
<input type="submit" name="save" />
</form>
<?php
if (isset($_POST['save'])) {
echo $_POST['name'];
}
?>
</html>
表单的操作是空的问题,所以当我点击提交按钮时没有任何反应,所以任何人都知道如何解决问题? PS:在extrnak文件中提取php脚本太难了,我正在寻找替代解决方案。
答案 0 :(得分:1)
试过这样的?
<?php
if (isset($_POST)) {
echo $_POST['name'];
}
?>
答案 1 :(得分:1)
要使.delegate
工作,您必须将#myDiv
包裹在您希望定位的选择器周围,因为定位相当于:
$('#myDiv').find('form').on('submit', ...
换句话说,您的form
必须包含在#myDiv
内。
答案 2 :(得分:0)
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
这会将当前脚本地址放在操作字段中。
答案 3 :(得分:0)
尝试使用哈希符号。 action="#"