Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在单击时禁用提交按钮并将表单数据提交到perl脚本?_Javascript_Html - Fatal编程技术网

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

Javascript 如何在单击时禁用提交按钮并将表单数据提交到perl脚本?,javascript,html,Javascript,Html,我有一个html表单。当按下submit按钮时,将调用一个perl脚本,并将表单数据提交到perl脚本。 表单包含一个文本框和一个提交按钮。“提交”按钮还验证文本框是否包含某些值。如果它包含ot,则提交表单,否则会发出警报消息。 下面是示例代码: <html> <head> <title>files move</title> <script type="text

我有一个html表单。当按下submit按钮时,将调用一个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> 

文件移动
函数检查_filename()
{
如果(!frm1.FileName.value)
{
警报(“未选择要移动的文件”);
返回false;
}
其他的
{
document.getElementById(“btn_sbmt”).disabled='true'
返回true;
}
}

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

在你的其他部分添加这一行

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

将这一行添加到您的else部分

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

此示例基于您的示例

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

此示例基于您的示例

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

谢谢你的回复。但问题并没有解决。它仍然会禁用submit按钮,但不会调用perl脚本。感谢您的回复。但问题并没有解决。它仍然禁用submit按钮,但没有调用perl脚本。当按钮为
type=“submit”
且事件处理程序返回
true
时,为什么需要调用
.submit()
?谢谢,它起作用了。我不熟悉jquery,所以我使用javascript。还需要一个小功能。提交表单且“提交”按钮被禁用时,如何将“提交”按钮标题更改为“处理…”?您可以使用此代码
document.getElementById(“btn_sbmt”).value=“处理…”
当按钮为
type=“submit”
且事件处理程序返回
true
时,为什么需要调用
.submit()
?感谢它工作正常。我不熟悉jquery,所以我使用javascript。还需要一个小功能。提交表单且“提交”按钮被禁用时,如何将“提交”按钮标题更改为“处理…”?您可以使用此代码
document.getElementById(“btn_sbmt”).value=“处理…”