我在这里看到其他类似的问题已经找到了解决方案,但在尝试之后,没有一个能解决我的问题。
我正在使用JQuery Mobile提交表单。
提交后,我收到一条加载消息,没有别的。
有没有人有任何想法?
以下是相关代码:
头脑中的:
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script>
<script>
//reset type=date inputs to text
$( document ).bind( "mobileinit", function(){
$.mobile.page.prototype.options.degradeInputs.date = true;
});
</script>
</head>
然后是表格:
<form name="form1" method="post" rel="external" action="checklogin.php">
<div class="ui-field-contain ui-body ui-br" data-role="fieldcontain">
<label class="ui-input-text" for="name">Username:</label>
<input name="myusername" id="myusername" value="" type="text">
</div>
<div class="ui-field-contain ui-body ui-br" data-role="fieldcontain">
<label class="ui-input-text" for="name">Username:</label>
<input name="mypassword" id="mypassword" value="" type="text">
</div>
<fieldset class="ui-grid-a">
<div><input value="" name="" type="hidden"><button aria-disabled="false" class="ui-btn-hidden" type="submit" data-theme="a">Login</button></div></div>
</fieldset>
</form>
注意:我在操作页面上添加了一个Echo,但它永远不会到达那里。
有什么想法吗?
由于
答案 0 :(得分:16)
jquery mobile使用ajax传递表单,只需关闭它就可以了,
<form action="form1" method="post" data-ajax="false">
答案 1 :(得分:5)
您的“checklogin.php”文件是否包含<div data-role="page">
个标记?如果你希望它加载“checklogin.php”,那么该php文件应该有一些jQuery mobile识别的HTML。然后它会将其拉入您的页面。如果您检查网络对“checklogin.php”的POST请求的响应,您可能会在那里看到您的回显,但它不会显示在页面上。试试吧。
答案 2 :(得分:3)
这是导致提交点击无法在jQuery Mobile中触发的一种方法:只需将CSS边距添加到您的
发生了什么:
jQM的可见包装元素复制应用于实际输入元素的所有类,应用了jQM和app css样式。如果给按钮一个顶部或左边距,它会使实际输入元素的位置在包装元素内“移位”,这样可见元素顶部和左侧的点击就会错过实际的提交元素!一种极好的方式来产生看起来像是在该领域随机失败的东西。
您可以在附带的调试屏幕截图中看到这一点,并突出显示实际的提交元素几何。
修复是:
$("#createButton").parent().click(function() {$("#createButton").click()});
这样点击包装元素并将其转发给实际的提交元素。
jQM显然是一个糟糕的设计。如果他们要将装饰“移动”到包装元素,他们需要将它们从包裹元素中移除。有很多关于jQM提交没有在网上开火的投诉,我怀疑很多都是这个问题。
答案 3 :(得分:3)
使用Javascript提交而不是Jquery提交,因为这是jquery mobile的一个问题。
使用
<强>的document.getElementById(&#34; formID&#34)。提交(); 强>
而不是
$(&#34;#formID&#34)。提交();