javascript - 输入为空时如何停止发送

标签 javascript css forms input

我如何停止发送表单联系人并显示消息以填写输入

我使用文本输入并在 jquery 消息中显示它,例如 facebox

我用这个代码

在头上

        <script type="text/javascript">
    function checkForm(form) {
        var nameCheck = checkName(form.elements['name']),
            mailCheck = checkMail(form.elements['email']),
            phoCheck = checkPho(form.elements['phone']),
            msgCheck = checkMsg(form.elements['msg']);
        return nameCheck && mailCheck && phoCheck && msgCheck;
    }

    function checkName(input) {
        var check = input.value.length >= 30;
        input.style.borderColor = check ? 'black' : 'red';
        return check;
    }

    function checkMail(input) {
        var check = input.value.indexOf('@') >= 0;
        input.style.borderColor = check ? 'black' : 'red';
        return check;
    }

    function checkPho(input) {
        var check = input.value.length >= 5 && input.value !== 'رقم الهاتف';
        input.style.borderColor = check ? 'black' : 'red';
        return check;
}
    function checkMsg(textarea) {
        var check = textarea.value.length >= 500;
        textarea.style.borderColor = check ? 'black' : 'red';
        return check;
    }
    </script>

在体内

<form id="formsend" action="form.php" method="post" onsubmit="return checkForm(this)">
                                    <input name="name" type="text" value="اسمك الكريم" id="name" onblur="if (this.value=='')this.value='اسمك الكريم'" onclick="value=''" onkeyup="checkName(this)" />
                                    <br />
                                    <input name="email" type="text" id="email" value="البريد الالكتروني" onblur="if (this.value=='')this.value='البريد الالكتروني'" onclick="value=''" onkeyup="checkMail(this)" />
                                                        <br />
                                    <input name="phone" type="text" id="phone" value="رقم الهاتف" onblur="if (this.value=='')this.value='رقم الهاتف'" onclick="value=''" onkeyup="checkPho(this)" />
                                                        <br />
                                                        <textarea name="msg" cols="39" rows="5" placeholder="نص الرساله" onkeyup="checkMsg(this)" wrap=soft></textarea>
                                                        <br />
                                                        <input type="submit" value="ارسال" id="submit" />
                                    </form>

但它只适用于电子邮件

我有 4 个输入(姓名、电子邮件、电话、消息)

谁能告诉我我需要编辑什么或告诉我我可以用它做什么??

最佳答案

您应该在您的 javascript 中添加检查以查看名称、电子邮件、电话和消息的值是否等于默认值。它现在可能正在提交表单,因为电话字段默认为 رقم الهاتو,这似乎大于 5 个字符。

编辑:这是一个例子:

function checkPho(input) {
    var check = input.value.length >= 5 && input.value !== 'رقم الهاتف';
    input.style.borderColor = check ? 'black' : 'red';
    return check;
}

关于javascript - 输入为空时如何停止发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12328471/

相关文章:

javascript - 如何找到Shiny最终输出的HTML/CSS/JavaScript文件?

CSS规范表

javascript - 检测滚动到页面底部事件并采取行动

mysql - 防止带有文本区域的双重表单提交的最佳方法

javascript - 以良好可靠的方式验证表单输入

javascript - 使用向上/向下箭头导航 HTML 表单

javascript - 用于多个文本框的谷歌自动填充API

javascript - 未捕获的类型错误 : Object function () has no method items

css - #menu div 中的垂直居中 UL 菜单和 IMG

javascript - scrollIntoViewIfNeeded 脚本不适用于 Protractor