Javascript Ajax表单-仍然无法使其与验证一起工作

Javascript Ajax表单-仍然无法使其与验证一起工作,javascript,ajax,Javascript,Ajax,我以前在这里发布过,但是,收到的答案没有帮助,因为它们不起作用 我有一个使用AJAX的表单,但是没有显示错误或成功消息 谁能看出我可能忽略了什么?谢谢 HTML <form id="newsletter" action="http://app.bronto.com/public/webform/process/" method="post"> <input type="hidden" name="fid" value="g

我以前在这里发布过,但是,收到的答案没有帮助,因为它们不起作用

我有一个使用AJAX的表单,但是没有显示错误或成功消息

谁能看出我可能忽略了什么?谢谢

HTML

<form id="newsletter" action="http://app.bronto.com/public/webform/process/" method="post">
                            <input type="hidden" name="fid" value="gmy3v1ej883x2lffibqv869a2e3j9" />
                            <input type="hidden" name="sid" value="37ea72cebcc05140e157208f6435c81b" />
                            <input type="hidden" name="delid" value="" />
                            <input type="hidden" name="subid" value="" />
                            <script type="text/javascript">
                            var fieldMaps = {};
                            </script>
                            <label for="nameField">Name:</label>
                            <input id="nameField" type="text" id="field_66663" name="39829[66663]" value="" />
                            <label for="emailField">Email:</label>
                            <input id="emailField" type="text" name="39821" value="" />
                            <input type="submit" value="Submit" />
                            <div id="newsletter-message" style="display:none;"></div>
</form>
编辑

我现在已经试过了,但还是不走运

$("#newsletter").submit(function(event) {

  event.preventDefault();

  var $form = $( this ),
      ufname = $form.find( 'input[name="39829[66663]"]' ).val(),
      uemail = $form.find( 'input[name="39821"]' ).val(),
      url = $form.attr( 'action' );

  var posting = $.post( url, { name: ufname, email: uemail } );

  posting.done(function( data ) {
    $('#newsletter-message').html('You have been signed up.').removeClass('error').css('visibility','visible');
  });
});

可见性
显示
在CSS中是两个不同的东西

您正在使用
display:none创建显示
div
,但是您尝试使用
.css('visibility','visible')使其可见,因此您只需完成以下操作:

<div style="display: none; visibility: visible;" id="newsletter-message">...</div>

下面是关于
.show()
jQuery函数的文档:

在CSS中,
可见性和
显示是两个不同的东西

您正在使用
display:none创建显示
div
,但是您尝试使用
.css('visibility','visible')使其可见,因此您只需完成以下操作:

<div style="display: none; visibility: visible;" id="newsletter-message">...</div>

下面是关于
.show()
jQuery函数的文档:

我注意到的一件小事,您正在为name字段使用2
id
属性,这会使您的输入无效,并可能导致问题

<input id="nameField" type="text" id="field_66663" name="39829[66663]" value="" />


也要按照@Thierry所说的做,如果可能的话,避免在名称字段中使用数字。

我注意到的一件小事,您正在为名称字段使用2
id
属性,这会使您的输入无效,并可能导致问题

<input id="nameField" type="text" id="field_66663" name="39829[66663]" value="" />


也要按照@Thierry说的做,如果可能的话,避免在名称字段中使用数字。

那是因为“数据”没有定义!!在发出警报之前,您从未定义过
数据
变量。什么是
数据
数据
应该是电子邮件的数据帖子和姓名,然后你应该定义它。看看它的效果。这就是我们所能做的。只是想找出它们需要定义为哪些变量。那是因为“数据”没有定义!!在发出警报之前,您从未定义过
数据
变量。什么是
数据
数据
应该是电子邮件的数据帖子和姓名,然后你应该定义它。看看它的效果。这就是我们所能做的。只是想找出它们需要定义为哪些变量。。