Javascript:需要继续浏览其他页面

时间:2013-09-18 04:43:56

标签: javascript php

我正在使用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。

℃。删除... 提前谢谢!

3 个答案:

答案 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:看到你的下拉代码我把答案归还给了原来的样子。测试一下。