0

我正在编写一个动态打印出 HTML 页面的 Perl 脚本。

该页面允许用户通过单击表单上的单选按钮来选择四个任务之一。

如果用户单击任务“清除注册表单”的单选按钮,我应该向用户提供警告。如果用户单击确定,则表单提交。如果用户单击取消,则不会发生任何事情。

我是 JavaScript 新手,所以我基于老师的两个示例的代码:一个是在按钮上运行 onClick 的确认方法,另一个是在表单上运行 onSubmit 的警报方法。

但显然我不明白我在做什么,因为它不起作用。对话框甚至没有弹出。

我将如何做我需要做的事?

我的代码的相关部分(没有 Perl 打印语句)目前如下所示:

<script type="text/javascript">
function confirmation( ) {
    if (maint.mainttask.value == "clearsheet") {
        var answer = confirm('Are you sure you want to clear all entries?');
        if (answer==true){
            return(true);
        } else {
            return(false);
        }
    }
    return(true);
}
</script>
<form method='post' action='path removed' name=maint ONSUBMIT="return confirmation( )">
<table>
<tr><td><input type=radio name='mainttask' checked value='clearsheet'></td><td>Clear the signup sheet</td></tr>
4

2 回答 2

0

我总是更喜欢使用标准按钮并从验证函数中调用 submit() 方法,而不是依赖于提交按钮和 onsubmit 事件。其他人可能不同意,但在我看来,你对事情有更多的控制权。尝试以下...

<html>
<head></head>
<body>
<script type="text/javascript">
function confirmation() {
    if (maint.mainttask.value == "clearsheet") {
        var answer = confirm('Are you sure you want to clear all entries?');
        if (answer==true){
            document.forms["maint"].submit();
            }
        }
    }
</script>
<form method='post' action='path removed' name='maint'>
<table>
<tr><td><input type='radio' name='mainttask' checked value='clearsheet'></td><td>Clear the signup sheet<br />
<input type="button" onClick="confirmation()" value="Click me..."/></td></tr>
</table>
</form>
</body>

于 2013-03-06T07:42:49.590 回答
0
<script type="text/javascript">
function confirmation( )
{
    if (maint.mainttask.value == "clearsheet")
    {
        var answer = confirm('Are you sure you want to clear all entries?');
        if (answer){
            return true;
        }
        else{
            return false;
        }
    }
    return true;
}
</script>
<form method='post' action='#' name='maint' ONSUBMIT="return confirmation( )">
<table>
<tr><td><input type=radio name='mainttask' checked value='clearsheet'></td><td>Clear the signup sheet</td></tr>

<input type="submit" name="submit" value="submit"/>

</form>

试试这个编辑过的代码,希望它现在对你有用并显示确认框。

于 2013-03-06T06:22:55.197 回答