呼叫AJAX发送按键的价值
我读了很多类似的问题,我尝试了所有的解决方案,但似乎没有任何工作。我想通过点击一个按钮发送一个AJAX请求,并发送用户在textarea中键入的内容,并将其显示在div(chatbox)中。当我点击按钮时,没有任何反应。它从不调用具有AJAX代码的函数。你有什么想法发生了什么?呼叫AJAX发送按键的价值
P.S.我包含JavaScript文件,但没有任何更改。
<form action="ajax()">
<textarea id="txtArea" name="txtArea" ></textarea>
<input type="submit" value="Submit" />
</form>
<script type="text/javascript">
//AJAX function
function ajax() {
alert("insert");
var txtArea = $("#txtArea").val();
$.ajax({
type: "POST",
url: "InsertMessage.php",
data: {
txtArea: txtArea
}
success: function(data) {
alert(data);
$("#chatbox").load("DisplayMessages.php")
$("#txtArea").val(""); //Insert chat log into the #chatbox div \t \t \t \t
}
error: function() {
alert('there was an error, write your error handling code here.');
}
});
}
$(document).ready(startAjax);
//setInterval(function(){
// \t $("#chatbox").load("DisplayMessages.php"); \t \t
//}//,1400);
\t
</script>
的action
属性必须包含一个URL,而不是使用Javascript。您可以使用:
<form action="javascript:ajax()">
或:
<form onsubmit="ajax(); return false;">
,或者你可以在jQuery的事件绑定:
$(document).ready(function() {
$("form").submit(function() {
ajax();
return false;
});
});
这些变化后做的唯一的事情是超载的页面,但似乎仍然忽略功能 –
如果你使用'onsubmit',你还需要'返回false ;'防止正常的表单提交。我已经更新了答案。 – Barmar
你的问题不是那么清楚,但是对于post方法发送数据当提交表单然后在div中显示结果时,请尝试如下所示:
html:
个<form>
<textarea id="txtArea" name="txtArea" ></textarea>
<input type="submit">
</form>
<div id="resultDiv">
</div>
JS:
$("form").submit(function(event) {
var txtArea = $("#txtArea").val();
$.ajax({
type:"POST",
url:"InsertMessage.php",
data:{txtArea:txtArea}
success: function(data){
alert(data);
$("#resultDiv").html(data);
}
error: function(){
alert('there was an error, write your error handling code here.');
}
});
});
谢谢你的回复,但没有什么改变......我打电话给php插入值写入用户,然后用这个“$(”#chatbox“)。load(”DisplayMessages.php“)\t \t \t \t \t \t \t $( “#txtArea”)VAL( “”); //插入聊天记录到#chatbox DIV \t“ 将dislay它在div ”客舱“ 但还是不调用函数..:/ –
我可能是错的,但我认为'action'是,如果你希望浏览器让你的要求,你有没有试图改变''to'
是的,我尝试过但没有任何东西.. –