Javascript jQuery:jQuery.val()在mobile Safari和Chrome中不起作用

Javascript jQuery:jQuery.val()在mobile Safari和Chrome中不起作用,javascript,jquery,ajax,Javascript,Jquery,Ajax,我偶然发现了一个小问题。我正试图使用$.ajax发布一个表单,但似乎它在moblie Safari或Chrome上不起作用 这是我的HTML: <form class="signup-form" method="POST" action=""> <input type="hidden" name="u" value="03d275307f32a6e64103c71c4"> <input type="hidden" name="id" value="5425

我偶然发现了一个小问题。我正试图使用
$.ajax
发布一个表单,但似乎它在moblie Safari或Chrome上不起作用

这是我的HTML:

<form class="signup-form"  method="POST" action="">
  <input type="hidden" name="u" value="03d275307f32a6e64103c71c4">
  <input type="hidden" name="id" value="5425de82c5">
  <input type="text" class="signup-input email pull-left" 
                     name="EMAIL" placeholder="Enter your email" value="">
  <button class="btn btn-signup">GET EARLY ACCESS</button>
</form> 
<!-- second form -->
<form class="signup-form"  method="POST" action="">
  <input type="hidden" name="u" value="03d275307f32a6e64103c71c4">
  <input type="hidden" name="id" value="5425de82c5">
  <input type="text" class="signup-input email pull-left" 
                     name="EMAIL" placeholder="Enter your email" value="">
  <button class="btn btn-signup">GET EARLY ACCESS</button>
</form> 
SIGNUP_FORM=$('.SIGNUP FORM')
EMAIL_字段=$('.EMAIL')

它在所有浏览器中都能正常工作,但在移动Safari或Chrome浏览器中不能

当我尝试发出警报时(EMAIL_FIELD.val())它在移动设备上是空的,但在桌面浏览器中不是空的


我做错了什么?

在表单的
submit
事件的eventhandler中,
this
就是表单,表单中唯一命名的输入可以通过
this.inputName
访问

因此,在您的情况下,您可以说例如
if(this.EMAIL.value!='')
而不是
if(EMAIL\u FIELD.val().length)


此时,您正在从页面中选择所有电子邮件字段,只需检查第一个字段的值长度。

它位于submit()方法上方。我已经更新了这个问题@Barmari是
$(document).ready()
中的代码?是的。我又更新了。如果它应该是带有
name=“EMAIL”
的输入,则有两个字段
EMAIL_FIELD.val()
将是第一个表单的值,即使用户提交第二个表单也是如此。您有两个
。注册表单
项和两个
。EMAIL
项。两个表单都会触发submit事件,但您的
EMAIL_FIELD.val()
将始终从此类的第一个实例抓取,而不一定是您提交的表单中的实例。
$(document).ready(function() {
var SIGNUP_FORM = $('.signup-form');
var EMAIL_FIELD = $('.email');

SIGNUP_FORM.submit(function() {
  var submitBtn = $(this).children('button');
  submitBtn.text('SENDING...');
  if (EMAIL_FIELD.val().length) {
    var data = $(this).serialize();
    var url = 'MY_URL';
    $.ajax({
      url: url,
      type: 'GET',
      data: data,
      dataType: 'json',
      contentType: 'application/json; charset=utf-8',
      success: function(data) {
        submitBtn.text('THANKS!');
      },
      error: function(err) {
        alert("Could not connect to the registration server.");
      }          
    });
  }
  else {
    $(this).children('input').css('border', '1px solid red');
    submitBtn.text('OOOPS');
  }
  return false;
});
});