0

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

湾。预订_删除_三。

C。删除...提前谢谢你,!

4

3 回答 3

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:看到您的下拉代码,我将答案返回到原来的样子。测试一下。

于 2013-09-18T05:18:46.203 回答
0

表单正在提交到其默认操作。您需要阻止此提交。只需附加onsubmit = "return false"到您的表单。这将阻止表单提交。

<form name='form' method='post' action="" onsubmit="return false;">
于 2013-09-18T05:07:56.020 回答
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!";
  }

}
于 2013-09-18T04:58:34.457 回答