【发布时间】:2012-01-07 00:01:53
【问题描述】:
我正在尝试使用 jquery 和 ajax 提交表单并在不重新加载的情况下显示结果。就像您典型的 ajax 评论设置一样。
我的 HTML 是这样设置的:
<form id="create_new_heading" action="/display.php?brand=1" method="post">
<label for="entry">Heading:</label><br/>
<input type="text" id="heading" name="heading" maxlength="150"/><br/>
<input type="submit" value="Add this Heading" />
</form>
<div id="result">
</div>
JS:
<script>
/* attach a submit handler to the form */
$("#create_new_heading").submit(function(event) {
/* stop form from submitting normally */
event.preventDefault();
/* get some values from elements on the page: */
var $form = $( this ),
term = $form.find( 'input[name="heading"]' ).val(),
url = $form.attr( 'action' );
/* Send the data using post and put the results in a div */
$.post( url, { s: term },
function( data ) {
var content = $( data ).find( '#test_me' );
$( "#result" ).empty().append( content );
}
);
});
</script>
表单处理器如下所示:
public function write($p) {
if ( $_POST['type'] )
$type = mysql_real_escape_string($_POST['type']);
if ( $_POST['heading'])
$heading = mysql_real_escape_string($_POST['heading']);
if ( $type && $heading ) {
$uniqueid = uniqid();
$sql = "INSERT INTO headings VALUES('$type','$heading','$uniqueid')";
return mysql_query($sql);
} else {
return false;
}
}
我试图按照 jquery 文档来实现这一点,但我似乎无法让它工作。表单提交,条目被放入数据库,但我仍然需要刷新页面才能看到新条目。知道我做错了什么吗?
【问题讨论】:
标签: php jquery html ajax forms