<form action='#' method='post' onclick=' ConfirmChoice();
return false;' style='display:inline-block;'>
<input type='hidden' name='delete_dish' value='" . $row['dishname'] . "'>
<input type='image' src='images/delete2.png' alt='Submit' name='delete2' value='delete2'>
</form>
每当我$_POST
在另一个文件上时,它会显示Notice: Undefined index: delete_dish
但是,当我删除onclick=' ConfirmChoice(); return false;
并将FILENAME.php
代替#时,它就可以了。
答案 0 :(得分:1)
根据您的一条评论(为了简洁起见确认消息已更改):
<script language="javascript">
<!-- Confirm Dialog Box for deletion -->
function ConfirmChoice() {
answer = confirm("Are you sure?")
if (answer !=0) {
location = "recipe7.php"
}
}
</script>
假设 location
表示document.location
:这将意味着如果用户点击表单中的任何内容,它会在问题中使用只会发生以下两件事之一:
recipe7.php
<script language="javascript">
function ConfirmChoice() {
return confirm("Are you sure?");
}
</script>
<form action='recipe7.php' method='post' onsubmit='return ConfirmChoice();' >
<input type='hidden' name='delete_dish' value='" . $row['dishname'] . "'>
<input type='image' src='images/delete2.png' alt='Submit' name='delete2' value='delete2'>
</form>
两个不同之处是:
如果表单onsubmit回调返回falsey - 提交表单将被中止。
具有以下形式:
// this is a comment
/* this is a
multiline
comment */
在javascript块中使用html注释(<!-- asdf -->
)无效。
编写仅在不需要时启用js的功能 - 只会增加复杂性。而是让它在没有js的情况下工作 - 然后在之后添加你想要的任何js功能(最小值)。
坚持这一原则将有两个概念:
答案 1 :(得分:0)
变化
onclick=' ConfirmChoice(); return false;'
到
onclick='return ConfirmChoice();'
试试这个....
<form name='myform' action='recipe7.php' method='post' onclick=' ConfirmChoice();
return false;' style='display:inline-block;'>
function ConfirmChoice()
{
var r = confirm("Are you sure?");
if(r == true)
{
document.myform.submit();
return true;
}
else
{
// do something
return false;
}
}