如何将shortcode param值传递给Javascript / Ajax?

时间:2015-06-29 15:48:41

标签: javascript php ajax wordpress shortcode

我创建了一个用ajax处理的联系表单短代码。短代码有​​一个参数来设置将要发送消息的电子邮件地址。这样我可以使用不同的电子邮件帐户来接收消息,具体取决于形式。

当你clic submmit这个javascript时,使用$('#name').val()的表单字段值并发送到我在另一个php文件中创建的ajax_contact_form函数:

 $('.contact-form').submit(function(){
    var action = $(this).attr('action');
    $("#message").slideUp(750,function() {
    $('#message').hide();
    $('#submit')
      .after('<i class="fa fa-refresh fa-spin fa-2x"></i>')
      .attr('disabled', 'disabled');
    $.post(
      action,
      {
        action: 'ajax_contact_form',
        name: $('#name').val(),
        email: $('#email').val(),
        phone: $('#phone').val(),
        subject: $('#subject').val(),
        message: $('#message').val(),
      },
      function(data){
        document.getElementById('form-alert').innerHTML = data;
        $('#form-alert').slideDown('slow');
        $('.contact-form .fa-spin').fadeOut('fast',function(){$(this).remove()});
        $('#submit').removeAttr('disabled');
        if(data.match('success') != null) $('.contact-form').slideUp('slow');
      }
    );
  });
  return false;
  });

我可以对电子邮件地址执行相同操作,在html代码中打印如下:data-email="xxxx@xxx.com",但显然我不想将电子邮件地址打印在HTML代码中。我不知道另一种方法来实现这一点。

如何在不在表单中打印的情况下将短代码参数值传递给ajax php文件?

1 个答案:

答案 0 :(得分:0)

如果您使用:

    $('.contact-form').serialize()

有帮助吗? 如果这不是你想要的,你能解释一下吗?

https://api.jquery.com/serialize/