php - WordPress 表单上所需的警报

标签 php javascript jquery ajax wordpress

联系表单正在运行,如果您填写了所有内容,它就会发送消息。问题是,如果您不填写电子邮件箱,表单不会提醒您,我是否可以向用户显示单词或某种提醒?

这是我的标记:

<div class="form">
        <h2>ESCRIBENOS</h2>
        <form method="post" action="process.php">
        <div class="element">
            <label>Nombre (obligatorio):</label><br/>
            <input type="text" name="name" class="text" />
        </div>
        <div class="element">
            <label>Email (obligatorio):</label><br/>
            <input type="text" name="email" class="text" />
        </div>
        <div class="element">
            <label>Telefono:</label><br/>
            <input type="text" name="website" class="text" />
        </div>
        <div class="element">
            <label>Mensaje:</label><br/>
            <textarea name="comment" class="text textarea" /></textarea>
        </div>
        <div class="element">

            <input type="submit" id="submit"/>
            <div class="loading"></div>
        </div>
        </form>
        </div>

这是我的脚本:

$(document).ready(function() {

//if submit button is clicked
$('#submit').click(function () {        

    //Get the data from all the fields
    var name = $('input[name=name]');
    var email = $('input[name=email]');
    var website = $('input[name=website]');
    var comment = $('textarea[name=comment]');

    //Simple validation to make sure user entered something
    //If error found, add hightlight class to the text field
    if (name.val()=='') {
        name.addClass('hightlight');
        return false;
    } else name.removeClass('hightlight');

    if (email.val()=='') {
        email.addClass('hightlight');
        return false;
    } else email.removeClass('hightlight');

    if (comment.val()=='') {
        comment.addClass('hightlight');
        return false;
    } else comment.removeClass('hightlight');

    //organize the data properly
    var data = 'name=' + name.val() + '&email=' + email.val() + '&website=' + 
    website.val() + '&comment='  + encodeURIComponent(comment.val());

    //disabled all the text fields
    $('.text').attr('disabled','true');

    //show the loading sign
    $('.loading').show();

    //start the ajax
    $.ajax({
        //this is the php file that processes the data and send mail
        url: "../process.php",  

        //GET method is used
        type: "GET",

        //pass the data         
        data: data,     

        //Do not cache the page
        cache: false,

        //success
        success: function (html) {              
            //if process.php returned 1/true (send mail success)
            if (html==1) {                  
                //hide the form
                $('.form').fadeOut('slow');                 

                //show the success message
                $('.done').fadeIn('slow');

            //if process.php returned 0/false (send mail failed)
            } else alert('Sorry, unexpected error. Please try again later.');               
        }       
    });

    //cancel the submit button default behaviours
    return false;
}); 
}); 

有人可以帮我吗?

最佳答案

试试这个:

var name = $('input[name=name]');
        var email = $('input[name=email]');
        var website = $('input[name=website]');
        var comment = $('textarea[name=comment]');

        //Simple validation to make sure user entered something
        //If error found, add hightlight class to the text field

        $('input[type=text]').each(function(){
             if($(this).val().length == 0){
                $(this).addClass('hightlight');
                alert('Empty input field')
                return false;
             }
        });

...其余代码

注意:这不适用于文本区域,但我认为您可以自己解决!

<小时/>

编辑:

  var valid = false;

    $('input[type=text]').each(function(){
             if($(this).val().length == 0){
                $(this).addClass('hightlight');
                alert('Empty input field')
                valid = false;
             }else{
                valid = true;
             }
        });


    if(valid == false) return; 
        console.log('All input fields are filled in..');

...其余代码。您可以删除输入字段的所有 if else 语句。为了检查文本区域,您可以为所有字段指定相同的类并执行以下操作:

$('form.classofallelements').each(function(){

关于php - WordPress 表单上所需的警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13285285/

相关文章:

php - 日期选择器如何选择从下拉列表中选择的月份

javascript - JQuery 自动完成将项目添加到呈现的下拉菜单

jquery - 如何通过表单元素传递 json

php - 抑制正则表达式中的完整模式匹配 (preg_match())

javascript - 如何使用 filepond 插件、ajax 和 php,在服务器上未检测到文件名

php - 更新 Magento 特价

javascript - 初始化嵌入式推文时,未捕获类型错误 : t. querySelectorAll 不是函数

php - Pycrc 和 PHP 代码的 CRC32 计算与预期结果不匹配

javascript - dataTables (jquery) 按两列搜索

javascript - 在页面上使用 JQuery 查看各种页面并获取 .size()