我有一个 index.html 页面,它使用 jquery 调用驻留在同一站点内的 somepage.php 来加载这个 index.html 页面的内容。
所以这是预期的页面加载顺序:index.html -> somepage.php -> submit.php(如果单击提交按钮)
index.html 只有“main-div”,没有内容。当调用 somepage.php 时,通过运行 php 脚本加载“main-div”内容。main-div 包含一个带有提交按钮的小表单的子 div。使用 jQuery,我查看是否单击了提交按钮,当单击时,将调用 submit.php 脚本。
这是准系统代码:
<!DOCTYPE html>
<html>
<head>
<script src="js/jquery.js"></script>
<script>
$('document').ready(function(){
$("#main-div").load("http://www.someurl.com/somepage.php");
$('#item-submit').click(function(){
jsURL = $('#input').val();
submit(jsURL);
});
function submit(jsURL){
$.get(
'http://www.someurl.com/submit.php',
{ item: jsURL },
function(data){
if(data=="success")
{
$('#submit-status').html(data);
}
else
{
$('#submit-status').html(data);
}
}
);
}
});
</script>
</head>
<body>
<div id="main-div"> </div>
</body>
</html>
现在的问题: index.html 页面加载时所有内容都正确显示(带有提交按钮的小表单,所有其他 main-div 内容,所有内容都显示)。但是,提交按钮并没有调用submit.php脚本,这意味着我相信点击事件对应的jQuery代码没有被注册。
我对 jQuery 相当陌生。这与我在 jQuery .ready() 中“排序”代码的方式有关吗?与调用函数之前 DOM 未准备好有关,或者可能与 jQuery 中的 .load() 问题有关?