你好顽皮的代码动物..
我试图让这段代码工作,并且还要搜索它。但我发现没有我能理解的最新答案。 所以我会给你表格,然后是jQuery。
FORM:
<div id="blab_form_overcontent">
<table border="0" align="center">
<form id="submit_blab" method="post">
<input type="text" name="blab_title" id="blab_title" value="" placeholder="title(optional):"/><br/>
<textarea name="blab_text" id="blab_text" value="" placeholder="text:"></textarea>
<input type="submit" id="blab_submitb" name="blab_submitb" value="Post"/>
</form>
<div class="success" style="display: none;">Blab has been added.</div>
</table>
</div>
jQuery的:
$(document).ready(function(){
$("form#submit_blab").submit(function() {
// I store the values from the form input box, then send via ajax below
var blab_title = $('#blab_title').attr('value');
var blab_text = $('#blab_text').attr('value');
$.ajax({
type: "POST",
url: "classes/profileActions.php",
data: "blab_title="+ blab_title +"& blab_text="+ blab_text,
success: function(){
$('form#submit_blab').hide(function(){$('div.success').fadeIn();});
}
});
return false;
});
});
注意:我知道它不是我的profileActions.php,这是问题,因为代码不会发布任何东西。它只重新加载页面。
此致 无能的白痴。
答案 0 :(得分:3)
它正在刷新页面,因为您没有告诉它不刷新页面。 :)
$('#submit_blab').submit(function(e){
//start with preventing the default submit action...
e.preventDefault();
var blab_t = $('#blab_title').val();
var blab_txt = $('#blab_text').val();
var json = { blab_title: blab_t, blab_text: blab_txt }
$.ajax({
type: "POST",
url: "classes/profileActions.php",
data: json,
success: function(){
$('form#submit_blab').hide(function(){$('div.success').fadeIn();});
}
});
});
答案 1 :(得分:2)
除了另一个答案中提到的刷新问题,您的data
查询字符串是奇数。您不需要对&
进行编码,并且还有额外的空格。最好使用对象文字:
// Instead of:
data: "blab_title="+ blab_title +"& blab_text="+ blab_text,
// Use an object literal:
data: {
"blab_title": blab_title,
"blab_text": blab_text
},
答案 2 :(得分:1)
或者您可以使用serialize()
在POST中传递数据
data: $("#submit_blab").serialize(),
另外,您也可以将提交更改为单击
$("#blab_submitb").click(function(e)