【发布时间】:2011-08-02 15:08:45
【问题描述】:
我还是 JQuery、AJAX 和 PHP 的新手。
我想知道我在这里做错了什么。我正在获取有关客户的信息并尝试在同一页面上返回确认消息。
所以我遇到的问题: 1)点击提交按钮刷新我的页面?为什么?
2) 我的提交按钮下方有一个。如何使用 addCustomer.php 的结果更改其文本?
3) 可以将我的 javascript 和 php 代码放在 customer.php 下的同一个文件中吗?
编辑:我也在使用 Firefox 的 Tamper Data Addon - 当我点击提交时,由于某种原因没有发送任何数据。
客户.php
<script type="text/javascript">
$(document).ready(function(){
$('#submit').click(function() {
$.ajax({
type : 'POST',
url : 'addCustomer.php',
dataType : 'json',
data:{
add_LN : $('#add_LN').val(),
add_FN : $('#add_FN').val(),
add_PN : $('#add_PN').val(),
add_DOB : $('#add_DOB').val()
},
success : function(data){
//I want to change the "confirmMsg" to the string given back from addCustomer.php
}
}
}
}
</script>
<p> </p>
<p>Add New Customer:</p>
<div align="center">
<form>
<table width="396" border="1">
<tr>
<td width="133"><p>Last Name:</p>
<p>First Name:</p>
<p>Phone Number:</p>
<p>Date of Birth:</p></td>
<td width="144"><p>
<input type="text" name="add_LN" id="add_LN" />
</p>
<p>
<input type="text" name="add_FN" id="add_FN" />
</p>
<p>
<input type="text" name="add_PN" id="add_PN" />
</p>
<p>
<input type="text" name="add_DOB" id="add_DOB" />
</p> </td>
<td width="97"><input type="submit" name="submit" id="submit" value="Add Customer" /></td>
<div id="confirmMsg"/>
</tr>
</table>
</form>
</div>
<p> </p>
</div>
</div>
addCustomer.php
<?php
$username="******";
$password="******";
$database="******";
if (isset ($_POST['add_LN']))
$lastName=$_POST['add_LN'];
else
die("Last Name not passed in POST");
if (isset ($_POST['add_FN']))
$firstName=$_POST['add_FN'];
else
die ("First Name not passed in POST");
if (isset ( $_POST['add_PN']))
$phone=$_POST['add_PN'];
else
die("Phone Number not passed in POST");
if (isset ($_POST['add_DOB']))
$dob=$_POST['add_DOB'];
else
die("Date of Birth not passed in Post");
//$membership==$_POST['membership'];
mysql_connect("dbs4.cpsc.u.ca",$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = "INSERT INTO customer (last_name, first_name, phone_no, date_of_birth, membership) VALUES ('$lastName', '$firstName', '$phone', '$dob', 'T')";
if (mysql_query($query)){
echo "Thanks";
} else
{
echo "Failed to insert customer into database";
}
mysql_close();
?>
非常感谢您的帮助!
【问题讨论】:
-
您可以尝试检查表单是否使用 firebug(如果您使用的是 firefox)或 chrome 开发工具开始发布
-
您的 html 代码不正确,confirmMsg div 放置在表格单元格之外,这不应该工作,但您不应该将表格放在表格中开始。如果您将表单放在表单标签中,您可以使用 jquery 收听提交处理程序。
-
我目前正在使用 Tamper Data for firefox,但是当我点击提交时它没有收到任何内容。另外,为什么我不应该把表格放在桌子上?它应该仍然可以正常工作。编辑 - 哎呀,我没有意识到它不是形式谢谢。我在没有意识到的情况下恢复了我的代码。对不起:P
标签: php javascript jquery html ajax