不删除电子邮件选择框中的数据

时间:2016-07-25 09:56:25

标签: javascript php jquery email

我有工作脚本,它会从网站发送电子邮件到一些电子邮件。

问题是:如果用户忘记从选择框中选择值(值=电子邮件到PHP数组中的mail@mail.com),我的脚本会抛出警告“选择一个值!”但是用户写的所有数据都将从所有选择框中删除。

有什么办法可以避免吗?

JS:

function formSubmit() //onclick "Submit" button
{
    var selectedValue  = document.getElementById("sendTo").value;  

    if(selectedValue="99")
    {
        alert("Choose a value!");
    }
    else
    {
        //working ajax script which is sending emails
    }
}

HTML:

<label class="company_emails">
    <select id="sendTo">
        <option value="99">Choose a department</option>
        <option value="0">Justice</option>
        <option value="1">Injustice</option>
        <option value="2">Potatoes</option>
        <option value="3">Mushrooms</option>
    </select>            
</label>

2 个答案:

答案 0 :(得分:1)

如果出现错误,您必须停止提交,否则表单将被提交并再次为空。

function formSubmit() {
    var selectedValue  = document.getElementById("sendTo").value;  

    if( selectedValue == "99" ) {
        alert("Choose a value!");

        // return false will stop the submit
        return false;
    }
}

但如果你在一个按钮上使用onclick进行操作,你必须使用它返回:

<button type="submit" onclick="return formSubmit();">send</button>

甚至更好,如果你有jQuery可用,只需在表单提交上注册一个监听器并使用preventDefault。这是最好的方式imo。

$("form").on("submit", function(e) {
    if( $("#sendTo").val() == "99" ) {
        alert("Choose a value!");

        // will stop the submit
        e.preventDefault();
    }
});

正如用户@Carr所说,您在=声明中遗漏了if

答案 1 :(得分:1)

JavaScript代码

<script type="text/javascript">
  function formSubmit() //onclick "Submit" button
{
    var selectedValue  = document.getElementById("sendTo").value;  

    if(selectedValue="99")
    {
        alert("Choose a value!");
        return false;
    }
    else
    {
        //working ajax script which is sending emails
    }
}
</script>

需要按钮的返回关键字点击方法如下所示。

<input type="submit" value="submit" onclick="return formSubmit()"/>