Forms 我需要clic两次,否则无法获取数据表单

Forms 我需要clic两次,否则无法获取数据表单,forms,jquery-mobile,Forms,Jquery Mobile,我有以下问题 如果我将JavaScript代码放入head或body标记中,我需要单击两次submit按钮,然后Ajax表单或任何我需要正确执行的操作,但我需要单击两次 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1,

我有以下问题

如果我将JavaScript代码放入head或body标记中,我需要单击两次submit按钮,然后Ajax表单或任何我需要正确执行的操作,但我需要单击两次

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta charset="utf-8"> 
 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>XXXX</title>

    <!--Este es el JS que hace que funcione Phonegap-->
    <script type="text/javascript" charset="utf-8" src="js/cordova.js"></script>    

    <!--JS específicos de Jquery Mobile-->
    <script src="js/jquery-1.10.2.min.js"></script>
    <script src="js/jquery.mobile-1.4.2.min.js"></script> 

    <!--Estos son script creados para la aplicacion-->
    <script src="js/md5.js"></script>
    <script src="js/login.js"></script>

    <!--CSS del tema que he creado para apotecalia-->
    <link rel="stylesheet" href="themes/XXXX.css" />
    <link rel="stylesheet" href="themes/jquery.mobile.icons.min.css" />
    <link rel="stylesheet" href="css/jquery.mobile.structure-1.4.2.min.css" />  

</head>
<div id="login">

    <div data-role="header" data-position="fixed">
    </div>

    <div data-role="content">   

        <form id="check-user" data-ajax="false">
            <fieldset>
                <div data-role="fieldcontain">
                    <label> Usuario </label>
                    <input type="text" id="correo" name="correo">
                </div>
                <div data-role="fieldcontain">
                    <label> Contrase&ntilde;a </label>
                    <input type="password" id="pwd" name="pwd" >
                </div>
                <input type="submit" data-role="button" value="Acceder" name="enviar" id="enviar">

</fieldset>
        </form>
    </div>

    <div data-role="footer" data-position="fixed">
    </div>
</div>

</body>
</html>
但是,如果我将脚本代码放入需要使用它的标记页面,我不需要单击两次,但是我无法获取数据表单来执行Ajax请求

相同的代码,但如果我将脚本代码放入data role=page,我必须将此代码放入所有标记中。。。本例中的警报为空

<div id="login">
 <script src="js/login.js"></script>

    <div data-role="header" data-position="fixed">
    </div>

    <div data-role="content">   

拜托,我不知道怎么做,我试了两个星期来解决这个问题,我需要你的帮助。

将你的脚本包括在head标签中

声明页面容器

将login.js中的代码更改为:

添加简单类型=按钮,而不是类型=提交


我喜欢这段代码,它可能是解决方案,但现在我有一个错误:07-14 12:56:18.390:E/Web控制台28534:Uncaught ReferenceError:$未在中定义file:///android_asset/www/js/login.js:1you 在jQuerySorry之后必须包含您的脚本,我正在测试,并且我交换了那段代码,但是仍然有相同的问题,我需要点击两次。这会让我发疯的。尝试将enviar按钮更改为它似乎没有任何作用:好的,最后我得到了警报,但现在我需要在JavaScript代码中执行ajax请求,但它不起作用,只要我单击两次。这很奇怪,你使用的是jquery mobile,但根据这一点,你的页面没有结构化。我想我有一个解决方案,我为我的应用程序创建的所有JavaScript代码必须是data role=页面而不是head标记。在这种情况下,必须是在之后。这可能是我问题的根源吗??
<div id="login">
 <script src="js/login.js"></script>

    <div data-role="header" data-position="fixed">
    </div>

    <div data-role="content">   
$(document).on("pageinit", "#login", function(event, ui)
{
    $(document).on("click", "#enviar", function(event)
    {
        if ($('#correo').val().length > 0 && $('#pwd').val().length > 0)
            alert($('#correo').val() + $('#pwd').val());
    });
});
<input type="button" data-role="button" value="Acceder" name="enviar" id="enviar">

$(function () {

  $('#enviar').click( function() {       

      if($('#correo').val().length > 0 && $('#pwd').val().length > 0){
         alert($('#correo').val() + $('#pwd').val());

        // Add code here submit form data using Ajax 

        var ajax_call = your_serviceURL;                  
        var str = $('#check-user').serialize();  

        $.ajax({
             type: "POST",
             url: ajax_call,
             data: str,
             dataType: "json",
             success: function(response){                              
                  // It's success json response
              }
        }).done(function() {

        }) 

      }

   });
});