我有一个页面让我们称之为“X.php”,我用xmlhttp.open()函数调用另一个页面“Y.php”。
目前我在页面Y.php中有一个表单,我想阻止它刷新,因为一旦我点击提交按钮,我的表格就会消失。
我尝试使用页面X.php中的Jquery'vent.preventDefault()'但是它没有用。
有人知道解决方案吗?
while($row = mysql_fetch_array($query)) {
echo " <h2>Update your personal settings</h2>
<form action='' id='target' method='POST'>
Surname: <input type=text name='lid_voornaam' value='".$row['lid_voornaam']."'><br/>
Name: <input type=text name='lid_naam' value='".$row['lid_naam']."'><br/>
Email: <input type=text name='lid_email' value='".$row['lid_email']."'><br/>
<input type='submit' value='Whatever' id='test1'/>
</form>";
}
Java脚本:
<script type="text/javascript">
$(document).ready(function(){
$("#test1").click(function(event){
event.preventDefault();
});
});
答案 0 :(得分:1)
在您的表单标签中。添加onSubmit="return false;
<form action='' id='target' method='POST' onSubmit="return false;>
Surname: <input type=text name='lid_voornaam' value='".$row['lid_voornaam']."'><br/>
Name: <input type=text name='lid_naam' value='".$row['lid_naam']."'><br/>
Email: <input type=text name='lid_email' value='".$row['lid_email']."'><br/>
<input type='submit' value='Whatever' id='test1'/>
</form>
正如@andrew提到的那样。您的PHP脚本将生成多个<form>
标记,这些标记都具有相同的标识id='target'
。这可能会导致页面出现问题,因为这不是有效的HTML
答案 1 :(得分:0)
我原以为你发布的javascript实际上应该有效。
但是如果这是你的实际代码,我怀疑它失败了,因为所有表单上的所有提交按钮都有id='test1'
,而id应该是唯一的
试试这样:
$i=0;
while($row = mysql_fetch_array($query)) {
echo " <h2>Update your personal settings</h2>
<form action='' id='target."$i++".' method='POST'>
Surname: <input type=text name='lid_voornaam' value='".$row['lid_voornaam']."'><br/>
Name: <input type=text name='lid_naam' value='".$row['lid_naam']."'><br/>
Email: <input type=text name='lid_email' value='".$row['lid_email']."'><br/>
<input type='submit' value='Whatever' id='test1'/>
</form>";
}
和
$("form").submit(function(event){
var id = $(this).attr('id').split('target')[1];
alert('form ' +id+ ' clicked');
event.preventDefault();
});