我有一个带有三个参数的ajax函数。第一个参数保存ajax函数在调用时所用的url。第二个参数包含包含最终输出的div的id名称。第三个参数包含一个变量,该变量可以存储在POST中,以便发送到ajax函数调用时所访问的URL,以便它可以被回显,并发送到id为#39的div。 ;输出'在原始页面上。
我的问题是:是否有任何方法可以在输入类型提交中获取值,以便可以将其存储在POST中以发送到ajax函数调用时发送到的URL,因此它可以被回应,并且可以在div中看到id'输出'在原始页面?
因此输入类型提交中的值将是"提交"。
test1.php
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type = "text/javascript">
function ajaxPass(gotoUrl,output,input) {
$.ajax({
type: "POST",
url: gotoUrl,
data: { input : input },
error: function(xhr,status,error){alert(error);},
success:function(data) {
document.getElementById( output ).innerHTML = data;
}
});
}
</script>
<input type = "submit" name = "submit" value = "submit" onclick = "ajaxPass('test2.php','output','input')">
<div id = 'output'> </div>
test2.php
<?php
$input = $_POST['input'];
echo $input;
?>
答案 0 :(得分:1)
不确定我理解,但我会尝试回答这一部分:
有没有办法在输入类型提交
中获取值
<input type = "submit" name = "submit" value = "submit" onclick = "ajaxPass('test2.php','output',this.value)">
关键是使用this.value
,this
引用输入元素,value
当然是值。
请参阅此简单示例,了解其实际效果:
<input type = "submit" name = "submit" value = "submit value here" onclick = "alert(this.value)">
&#13;
更新
此示例将读取文本输入元素的值,并在AJAX调用中将其作为input
变量传递:
function ajaxPass(gotoUrl,output) {
var input = document.getElementById('t').value; // or $('#t').val();
$.ajax({
type: "POST",
url: gotoUrl,
data: { input : input },
error: function(xhr,status,error){alert(error);},
success:function(data) {
document.getElementById( output ).innerHTML = data;
}
});
}
</script>
<input type="text" id="t">
<input type = "submit" name = "submit" value = "submit" onclick = "ajaxPass('test2.php','output')">
<div id = 'output'> </div>