Javascript Ajax响应为HTML
当在Javascript Ajax响应为HTML,javascript,php,html,ajax,response,Javascript,Php,Html,Ajax,Response,当在page1.php上单击submit按钮时,响应会以HTML格式打印一会儿,但会自动删除 我想在id=“output”元素的第1页中显示page2.php的响应 我做错了什么 以下是page1.php <script type="text/javascript"> function func(tosearch) { alert("search"); $.ajax({ type: 'post',
page1.php
上单击submit按钮时,响应会以HTML格式打印一会儿,但会自动删除
我想在id=“output”
元素的第1页中显示page2.php的响应
我做错了什么
以下是page1.php
<script type="text/javascript">
function func(tosearch) {
alert("search");
$.ajax({
type: 'post',
url: 'page2.php',
data: {
'tosearch' : tosearch
},
success: function(result) {
print(result);
}
});
}
function print(result) {
document.getElementById("output").innerHTML=result;
}
</script>
<form method="post" action="page1.php">
<input type="text" name="search" placeholder="Search.."><br><br>
<input type="submit" name="submit" onclick="func()">
</form>
<p id="output">table here!!</p>
<?php echo "<table align='center'>"
."<tr>"
."<td>"."Mr XYZ"."</td>"
."<td>"."MALE"."</td>"
."<td>"."987558745"."</td>"
."<td>"."xyz@gmail.com"."</td>"
."</tr>";
?>
响应未被删除,页面正在刷新。因为您根本不希望页面刷新,所以实际上不需要表单
元素。只需删除表单
,并将输入
设置为普通的按钮
,以保持标记的简单性:
<script>
// your JavaScript
</script>
<input type="text" name="search" placeholder="Search.."><br><br>
<button onclick="func()">
<p id="output">table here!!</p>
//你的JavaScript
这里是表格
或只需添加事件.preventDefault()
进入func()
@NewToJS:True,但是如果事件总是被阻止,并且表单永远不应该被用作表单,那么一开始就真的不需要它。删除不需要的东西比编写更多的代码来忽略/防止不需要的东西要好。这是真的,但有些人喜欢将表单定位为对数据进行序列化。对于Aman Tiwari,使用您的答案更好,但对于可能阅读此问题寻求帮助的其他人,我想我会发表评论,因为这可能会帮助其他人。tosearch
不是defined@charlietfl这是因为函数调用中没有传递任何内容onclick=“func()”
您可以尝试删除表单中的方法和操作属性。