【发布时间】:2012-01-12 05:05:52
【问题描述】:
我有一个将数据发送到 php 文件的简单表单,该文件使用表单的数据更新数据库。当在单击href链接的页面中加载表单时,表单可以正常工作,但是当在div中使用jquery load()加载(此页面加载到嵌套在另一个页面中的div中)时,表单不再发送数据,刷新文本输入或保持焦点。我已经尝试过“提交”、“实时”和“实时查询”,但在该 div 中似乎都不起作用。
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.linkpage').live('click', function(e) {
var url = $(this).attr('href');
$('#main').load(url);
e.preventDefault();
});
$("form#DataToDB").livequery(function() {
var User = $('#User').attr('value');
var Message = $('#Message').attr('value');
$.ajax({
type: "POST",
url: "updateDB.php",
data: "User="+ escape(User) +"& Message="+ escape(Message),
dataType: "html",
scriptCharset: "utf-8",
success: function() {
alert("Message sent");
}
});
$("#Message").attr("value", "");
$('input#Message').focus();
return false;
});
});
</script>
</head>
<body>
<div id="menu">
<a href="Page1.php" class="linkpage">Page1</a>
<a href="Page2.php" class="linkpage">Page2</a>
</div>
<div id="main">
</div>
</body>
这是包含表单的页面(Page1.php 或 Page2.php),嵌套在上一页的“主”div 中:
<form id="DataToDB" name="DataToDB">
<input type="hidden" name="User" id="User">
<input type="text" name="Message" id="Message">
<input type="submit" name="Send" value="Send">
</form>
请问jquery脚本哪里出错了?
提前致谢
【问题讨论】:
-
您的意思是省略结束表单标记
</form>? -
不,这是一个错字,我已经更正了。谢谢你提醒我。