我正在使用Javascript删除记录。但我的问题是,当我点击图片按钮时,它不会重定向到我想要的页面,而是会保留在页面上...
这是我的代码:
echo "<button type='submit' name='deletePlaylist[]' value='" . $row['id']."' onClick='myFunction()' style='border: 0; background: transparent; cursor: pointer;'><img src='image/delete.png' /></button> ";
我正在使用按钮,因为如果我使用的是输入,那么我正在使用图片...所以我决定使用按钮
这是我在javascript中的代码:
function myFunction()
{
var Xcancel;
var Rokay=confirm("Are you sure you want to delete?");
if (Rokay==true)
{
window.location = 'delete.php';
}
else
{
Xcancel="You pressed Cancel!";
}
}
</script>
我已尝试window.navigate("delete.php");
或window.location.href='delete.php'
也无法正常工作......
确认消息已经显示但我的主要问题是它没有进入 delete.php ,其中该表单是我的删除功能......
注:
该按钮位于<form name='form' method='post' action="">
之下,delete.php
位于同一文件夹中...之前没有确认消息并且它将转到delete.php但现在我尝试插入一条确认消息,然后它不会进入delete.php ...表单操作为空,因为我有一个可点击的下拉列表,它将继续执行result.php
以下是我的下拉列表的代码:
<select id="year"name="year"onChange="this.form.action='booking_delete_two.php'; this.form.submit()">
<option value="2013" <?php if($get_year=='2013') echo "selected"?>>2013</option>
<option value="2014" <?php if($get_year=='2014') echo "selected"?>>2014</option>
</select>
<select name="id" onChange="this.form.action='booking_delete_three.php'this.form.submit()">
<option value="<?php echo $get_ID; ?>"><?php echo $get_ID; ?></option>
<?php
$q = mysql_query("select * from tblnetwork");
while ($row1 = mysql_fetch_array($q))
{
if($get_ID != $row1[fldNetname])
{
echo "<option value='".$row1[fldNetname]."'>".$row1[fldNetname]."</option>";$get_netname = $row1[fldNetname];
}
}
?>
</select>
正如您所见,我清空action
,因为我有三个不同的页面,它将继续....
一个。 booking_delete_two
湾booking_delete_three。
℃。删除... 提前谢谢!
答案 0 :(得分:0)
对您的脚本进行以下更改:
function myFunction(evt)
{
evt.preventDefault(); // this will keep the page from submitting and aloow the rest of the script to run
var Xcancel;
var Rokay=confirm("Are you sure you want to delete?");
if (Rokay==true)
{
window.location = 'delete.php';
}
else
{
Xcancel="You pressed Cancel!";
}
}
答案 1 :(得分:0)
表单正在提交默认操作。您需要阻止此提交。只需将onsubmit = "return false"
附加到您的表单即可。这样可以防止提交表单。
<form name='form' method='post' action="" onsubmit="return false;">
答案 2 :(得分:0)
我会纠正表格是如何被验证而不是解决问题。你最好的选择是遵循W3schools在下面列出的相同做法:
http://www.w3schools.com/js/js_form_validation.asp
所以看起来应该是这样的:
<form name="form" action="" onsubmit="return myFunction()">
<button type="submit" name="deletePlaylist[]" value="' . $row['id'].'" style="border: 0; background: transparent; cursor: pointer;">
<img src="image/delete.png" />
</button>
</form>
编辑:
myFunction()可能如下所示:
function myFunction()
{
var Xcancel;
var Rokay=confirm("Are you sure you want to delete?");
if(Rokay == false){
Xcancel="You pressed Cancel!";
}
return Rokay;
}
EDIT2:添加到'myFunction()'是一种动态分配表单操作的方式:p您可以将原始操作属性留空或将其保留为默认值。
EDIT3:看到你的下拉代码我把答案归还给了原来的样子。测试一下。