2
我有两个在HTML“格式”提交按钮:形式提交的引用按钮“不同” AJAX调用
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
<input type="text" name="field1" id="field1" />
<input type="text" name="field2" id="field2" />
<form id="form1" action="" method ="post">
<input type="submit" value="check data" id="checkdata" name="checkdata" /><p>
<input type="submit" value="download" id="download" name="download" /><p>
这我得从两个独立的“PHP”代码按钮点击的查询结果在“同一页面”通过ajax调用。我对第一个按钮的脚本,但我有麻烦分配的查询必须被提及的另一种PHP代码的第二个按钮:
$(document).ready(function(){
$("#checkdata").click(function(){
var field1 = $("#field1").val();
var field2 = $("#field2").val();
var datastr ='&field1=' + field1 + '&field2=' + field2;
$("#response").css("display", "block");
$("#response").html("setting parameters... ");
$("#response").fadeIn("slow");
setTimeout("send('"+datastr+"')",2000);
return false;
});
});
function send(datastr){
$.ajax({
type: "POST",
url: "some_php_code.php",
data: datastr,
cache: false,
success: function(html){
$("#response").fadeIn("slow");
$("#response").html(html);
setTimeout('$("#response").fadeOut("slow")',2000);
}
});
}
请你给我一些暗示对这个或有任何其他方法来做到这一点?
(我都检查过了,你可以参考我。 这样的问题,这是关系到只有一个Ajax调用 jQuery submit ajax form with 2 submit buttons相关问题)
** **从未传递一个字符串'的setInterval()'或'的setTimeout()'。这样做与使用'eval()'一样糟糕,只要使用变量,就会导致不可读的和可能不安全的代码,因为您需要将它们插入到字符串中,而不是传递实际变量。正确的解决方案是'setInterval(function(){/ * your code *)},msecs);'。 'setTimeout()'同样适用。如果你只想调用一个没有任何参数的函数,你也可以直接传递函数名:'setInterval(someFunction,msecs);'(注意函数名后面有** no **'()') – ThiefMaster
我没有看到您尝试为id为'download'的按钮设置点击处理程序的位置。你有一个'checkdata'按钮,所以它会是类似的,我会想象的。 – MrOBrian
@ThiefMaster是的,这是正确的..我不会想到这件事现在它的作品..你是最好的人! – pasha