添加额外的输入会阻止javascript工作

时间:2017-08-17 22:23:06

标签: javascript jquery html forms

我正在尝试编辑一些JavaScript代码,但我没有使用JavaScript的经验。

我有这个HTML表单,我正在尝试添加额外的输入:

<form method="post" action="php/subscribe.php" name="subscribeform" id="subscribeform">
      <input type="text" name="email" placeholder="Enter your email address to get notified" id="subemail" />
      <input type="text" name="personname" placeholder="Enter your name" id="personname" />
      <input type="submit" name="send" value="Notify me" id="subsubmit" class="btn2" />
    </form>

    <!-- subscribe message -->
    <div id="mesaj"></div>
    <!-- subscribe message --> 
  </div>

表单随后将数据推送到我的PHP文件。但是,我使用的主题还包含以下JavaScript文件:

jQuery(document).ready(function(){
$('#subscribeform').submit(function(){

    var action = $(this).attr('action');

    $("#mesaj").slideUp(750,function() {
    $('#mesaj').hide();

    $('#subsubmit')
        .after('')
        .attr('disabled','disabled');

    $.post(action, {
        email: $('#subemail').val()
        personname: $('#personname').val() // THIS STOPS THE FILE FROM WORKING


    },
        function(data){
            document.getElementById('mesaj').innerHTML = data;
            $('#mesaj').slideDown('slow');
            $('#subscribeform img.subscribe-loader').fadeOut('slow',function(){$(this).remove()});
            $('#subsubmit').removeAttr('disabled');
            if(data.match('success') != null) $('#subscribeform').slideUp('slow');


        }
    );

    });

    return false;

});

最初主题只有电子邮件表单上的一个输入。但是,当我尝试将personname输入添加到表单和JavaScript文件时,它会阻止JavaScript工作。我没有在主页面内进行PHP渲染,而是重定向到空白的PHP页面echo成功消息。

就像我之前说的,我对Javascript非常缺乏经验,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

看起来你错过了一个逗号:

$.post(action, {
        email: $('#subemail').val(),  <--- Comma here
        personname: $('#personname').val() // THIS STOPS THE FILE FROM WORKING


    },

这些卷曲框架{ ... }(包括括号)中的Javascript就是所谓的对象。如果你之前看过JSON格式的数据,那么你应该对它很熟悉。语法基本上是键和值,冒号将它们分开,逗号分隔键值对。