我是使用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>
帮助表示赞赏。
答案 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>