【问题标题】:Not deleting data from Email select Box不从电子邮件选择框中删除数据
【发布时间】:2016-07-25 09:56:24
【问题描述】:

我有一个工作脚本,它正在将电子邮件从网站发送到一些电子邮件数组。

问题是: 如果用户忘记从选择框中选择值(值 = 电子邮件到 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>

【问题讨论】:

    标签: javascript php jquery email


    【解决方案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 执行此操作,您也必须在那里使用 return:

    <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 声明中错过了=

    【讨论】:

    • 谢谢兄弟,完美运行:) 必须等待几分钟并接受您的回答。
    • 没问题@Carr。我之前在回答中错过了这个错误,所以我已经注意到你的回答。 :)
    【解决方案2】:

    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()"/>
    

    【讨论】:

      猜你喜欢
      • 2014-03-28
      • 2015-08-14
      • 1970-01-01
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-18
      • 1970-01-01
      相关资源
      最近更新 更多