在提交之前检查表单是否已填写

时间:2013-06-13 20:09:49

标签: php forms drop-down-menu textbox submit-button

我有一个名为choose_dates.php的表单,它提交给一个名为process.php的文件。表单由文本框,下拉列表和提交按钮组成。我已经设置好了,你可以同时提交一个值,或另一个,或两者。 我想这样,如果用户在文本框和下拉列表中放置了一个值,那么提示符将询问他/她是否真的想要这样做。当按下提交按钮时,下面的代码似乎没有这样做。我的其余代码(我没有放在这里)工作正常,这更像是一个用户界面问题。

<form name="dates" action="process.php" method="POST">
<input type="text" name="submitDate">
<select name="removeException">
<option value="some-value">display dropdown stuff</option>
.
.
</select>
     <input type="submit" value="submit" 
        <?php
        if($_POST['submitDate'] != "" and $_POST['removeException'] != "")
        {
        echo " onclick=\"return confirm('Are you sure you want to submit both values at the same time?')\" ";
        }
        ?>
        tabindex="2">   
</form>

当然,如果我说的不够明确,请提出任何问题。问候。

2 个答案:

答案 0 :(得分:0)

添加onsumbit =“return checks();”在表格标签。 检查是一个Javascript函数,验证一切都很好,如果没有,返回false,表单将不会被提交。如果为true,则表单将正常提交。只需将你的onclick移动到onsumbit形式。

答案 1 :(得分:-1)

您需要使用javascript(最好)在客户端执行此操作。提交表单时将提交帖子数据。尝试将此功能添加为表单的onsubmit事件

function func(){
    var a = document.getElementsByName('removeException'),
        b = document.getElementsByName('submitDate');
    if(a[0].value!=null && b[0].value!=null){
        var c = confirm('Are you sure you want to submit both values at the same time?')
        if(c){
            return true;
        }else{
            return false;
        }
    }
}

然后

<form name="dates" action="process.php" method="POST" onSubmit='return func()'>