Forms 我需要clic两次,否则无法获取数据表单
我有以下问题 如果我将JavaScript代码放入head或body标记中,我需要单击两次submit按钮,然后Ajax表单或任何我需要正确执行的操作,但我需要单击两次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,
<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ñ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() {
})
}
});
});