这个简单的聊天有效,除了当我提交表单时;整个页面重新加载。我只需要表单本身将数据提交到数据库并清除表单。显示输出的 div 会自动刷新,不会出现任何问题。几天来我已经尝试了包含、div、框架等的所有可能的变体。如果我将表单与包含 div 的页面分开,它就可以工作......但我需要将所有内容都放在一页上。
这是 html:
<% @LANGUAGE = "VBScript" %>
<!-- #INCLUDE VIRTUAL="000_scripts/asp/chat_config.asp" -->
<!-- #INCLUDE VIRTUAL="chat_scripts.asp" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="chat.js"></script>
</head>
<body>
<div id="div_db1">not loading db1</div>
<form name="Send_Chat" id="Send_Chat" action="<% toDB() %>" method="post">
<textarea name="T_Body_Field" id="T_Body_FieldID" onKeyPress="return submitenter(this,event)" ></textarea>
<input type="submit" value="send" onClick="submitform()">
</form>
</body>
</html>
这是js:
function submitenter(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;
if (keycode == 13)
{
myfield.form.submit();
return false;
}
else
return true;
}
function submitForm() {
var frm = document.getElementsByID('Send_Chat')[0];
frm.submit(); // Submit
frm.reset(); // Reset
return false; // Prevent page refresh
}
$.ajaxSetup ({
cache: false
});
$(document).ready(function(){
setInterval(function(){
$('#div_db1').load('viewalldb3.asp');
}, 50);
});
window.onload = function() {
var input = document.getElementById("T_Body_FieldID").focus();
}
最佳答案
使用jquery.post 。您可以通过单击按钮来完成此操作,因此
$(":button").click(function(){
$.post({url where data is posted}, formData)
关于javascript - 提交表单数据而不刷新整个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26268286/