PHP - jquery ajax语法帮助

时间:2011-08-10 02:04:06

标签: php jquery ajax

我是使用jquery的新手,我编写了以下代码,但它不起作用,我无法弄清楚错误是什么..也许是错误的。

使用button1时有2个提交按钮,它应该从数据库中获取信息并显示在同一页面上。即,从数据库中获取标题并显示在同一页面上。

第二个提交按钮用于将标题提交到数据库并更新它(用script_2.php编写)。

<form id="myForm" method="post">
id: <input type="text" name="search"/>
<input type="button" id="button1" value="Submit to script 1" />
<input type="button" id="button2" value="Submit to script 2" />
title:<input type="text" name="title"/>
</form>
<head>

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
   $(document).ready(function(){

$("#button1").click(function(){
$.post('script_1.php', { name: form.name.value },
function(output) {
    $('#age').html(output).show();

}) ;
}) ;



$("#button2").click(function(){
$('form#myForm').attr({action: "script_2.php"});
$('form#myForm').submit();
});
});

</script>
</head>

帮助表示赞赏。

3 个答案:

答案 0 :(得分:1)

你关闭的次数太多了

<script type="text/javascript" src="jquery.js"></script></script>

<script type="text/javascript" src="jquery.js"></script>

答案 1 :(得分:1)

jQuerys attr()期望字符串,而不是对象,如:

$('form#myForm').attr("action", "script_2.php");

您的表单位于<head>标记之前。它应该在您的</head><body>标记之后。

您将ajax调用的结果放在ID为age的元素中,但我在页面上看不到任何带有该ID的元素。

这就是错误(我现在看到的),但你也可以通过将$('form#myForm')更改为$('#myForm')来加速你的选择,因为id是唯一的,我怀疑你有任何错误id为myForm的元素,不是表单。

答案 2 :(得分:1)

您错过});以关闭$("#button1").click功能:

<script type="text/javascript">
   $(document).ready(function(){
        $("#button1").click(function(){
            $.post('script_1.php', { name: form.name.value },function(output) {$('#age').html(output).show();});
        });
        $("#button2").click(function(){
            $('form#myForm').attr({action: "script_2.php"});
            $('form#myForm').submit();
        });
    });
</script>