我正在使用下面的代码,但我不想让页面中存在#my_id元素,我只想运行.load(),就像这个$ .load()等。 ..我希望我的代码解释我想做的事情......
$("#my_id").load('/code.php', {'code': code}, function(response, status, xhr){
if(response == "test"){
$(this).after(' <img src="/accepted.png" alt="accepted" title="accepted"/>');
}else{
$(this).after(' <img src="/not_accepted.png" alt="not accepted" title="not accepted"/>');
//alert("You typed the following: " + voucher_code);
}
有什么想法吗? 感谢。
答案 0 :(得分:0)
这就是你想要的东西吗?
$.post('/code.php', { code: code }, function(response, status, xhr) {
...
});
答案 1 :(得分:0)
必须将您的元素添加到DOM才能调度load事件。您还使用.after()添加了一些html代码,如果在DOM中添加$(this),则可以使用。
我建议你将你的元素添加到DOM,在可见区域之外的某个位置设置它,然后运行代码。它应该工作。
答案 2 :(得分:0)
这是来自load()手册:
示例:在页面完全加载时运行一个函数,包括图形
$(window).load(function () {
// run code
});
更新
这里是完全正常工作的代码(这只是一个例子,适当的验证应该被视为服务器和客户端):
<html>
<head>
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
</head>
<body>
<script>
$(document).load('code.php', {'code': "bla"}, function(response, status, xhr){
if(response == "test"){
$('#d').after(' <span>'+response+'</span>');
}else{
$('#d').after(' <span>no</span>');
//alert("You typed the following: " + voucher_code);
}
});
</script>
<div id="d"> </div>
</body>
</html>
code.php:
$e = $_REQUEST['code'];
if($e) {
echo 'test';
}
输出:
<body>
<script>
...
</script>
<div id="d"> </div> <span>test</span>
</body>