如何在单击时禁用提交按钮并将表单数据提交到perl脚本

how to disable a submit button on clicking and submit the form data to perl script?

本文关键字:提交 表单 数据 脚本 perl 按钮 单击      更新时间:2023-09-26

我有一个html表单。当按下提交按钮时,将调用一个perl脚本,并将表单数据提交给perl脚本。表单包含一个文本框和一个提交按钮。提交按钮还验证文本框是否包含某些值。如果其中包含ot,则提交表单,否则会发出消息。下面是示例代码:

<html>
        <head>
                <title>files move</title>
                <script type="text/javascript">
                  function check_filename()
                  {
                                if (!frm1.FileName.value)
                                {
                                        alert ("No File is selected to Move");
                                        return false;
                                }
                                else
                          {
                                        document.getElementById("btn_sbmt").disabled = 'true'
                                        return true;
                          }
                  }
                </script>
        </head>
    <body>
                <form id="frm1" name="frm1" action="/cgi-bin/sample_move.pl" method="GET">
            <input type="text" name="FileName" id="FileName">
                        <input type="submit" name="btn_sbmt" id="btn_sbmt" value="MOVE FILES" onclick="return check_filename();">
                </form>
        </body>
</html> 

当我点击提交按钮时,我想首先检查文本框是否包含一些值。如果它包含,那么我想调用perl脚本并禁用提交按钮,以避免多次单击提交按钮。上面的代码检查文本框是否为空,如果不为空,则禁用提交按钮,但不将表单提交给perl脚本。有人能告诉我怎么做吗?

此示例基于您的示例。

function check_filename()
{
    if (!frm1.FileName.value)
    {
        alert ("No File is selected to Move");
        return false;
    }
    else
    {
        document.getElementById("btn_sbmt").disabled = 'true';
        document.getElementById("frm1").submit();
        return true;
     }
}

对于更干净的版本,可以使用jQuery。http://api.jquery.com/submit/

在其他部分中添加此行

document.getElementById("frm").submit();