4

简单来说,我的问题是我想在 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 脚本太难了,我正在寻找替代解决方案。

4

4 回答 4

1

像这样试过?

<?php
if (isset($_POST)) {
    echo $_POST['name'];
}
?>
于 2012-06-16T17:10:43.390 回答
1

为了.delegate工作,您必须环绕#myDiv您希望定位的选择器,因为定位等效于:

$('#myDiv').find('form').on('submit', ...

换句话说,你的form必须被包裹在里面#myDiv

于 2012-06-17T12:08:55.547 回答
0
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">

这会将当前脚本地址放在操作字段中。

于 2012-06-16T15:30:58.560 回答
0

尝试使用井号。action="#"

于 2012-06-16T15:36:04.850 回答