我是php的新手,我正在尝试制作一个非常简单的双页表单。任何帮助或指导将非常感谢!
问题:
设定:
直播示例:
http://www.linplusg.com/page1.html
在IE中,来自第1页的URL看起来不正确: http://www.linplusg.com/page1.html#/page2.php
在FF和Chrome中,网址看起来不错,但我认为发生了闪烁/刷新。
除了在对页面进行POST时打开页面,还会发生其他事情吗?值得存储新字段吗?我做表格动作错了吗?茫然而困惑......
非常感谢您的任何帮助或建议。我整晚都在寻找答案,我的大脑感觉就像果冻。好像我错过了一些简单的东西?!
Page1代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
</title>
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/jquery.mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<link rel="stylesheet" href="css/my.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.mobile/1.2.0/jquery.mobile-1.2.0.min.js">
</script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js">
</script>
<script>
$(document).ready(function(){
$("#initialForm").validate();
});
</script>
</head>
<body>
<!-- Home -->
<div data-role="page" id="page1">
<div data-role="content">
<form id="initialForm" method="post" action="page2.php">
<div data-role="fieldcontain">
<fieldset data-role="controlgroup" data-mini="true">
<label for="textinput3">
Zip Code
</label>
<input name="zip" id="zip" maxlength=5 value="" type="text" class="required" />
</fieldset>
</div>
<input type="submit" data-theme="e" value="Submit" />
</form>
</div>
</div>
</body>
</html>
代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
</title>
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/jquery.mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<link rel="stylesheet" href="css/my.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.mobile/1.2.0/jquery.mobile-1.2.0.min.js">
</script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js">
</script>
<script>
$(document).ready(function(){
$("#fullForm").validate();
});
</script>
</head>
<body>
<!-- Home -->
<div data-role="page" id="page1">
<div data-role="content">
<form id="fullForm" method="get" action="">
<div data-role="fieldcontain">
<fieldset data-role="controlgroup" data-mini="true">
<input name="zip" id="zip" value="<?php echo $_POST["zip"]; ?>" type="" />
</fieldset>
</div>
<div data-role="fieldcontain">
<fieldset data-role="controlgroup" data-mini="true">
<label for="textinput3">
First Name
</label>
<input name="first_name" id="first_name" placeholder="" value="" type="text" class="required"/>
</fieldset>
</div>
<input type="submit" data-theme="e" value="Submit" />
</form>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
为防止这种情况,您需要在page1的表单元素中指定data-ajax =“false”。
<form id="initialForm" method="post" action="page2.php" data-ajax="false">
有关详细信息,请参阅http://jquerymobile.com/test/docs/forms/forms-sample.html。
答案 1 :(得分:0)
没有PHP代码,我可以猜测,但也许是因为在第二种形式中你有一个method="get"
而不是method="post"
,而在PHP中你检查$_POST
变量?
答案 2 :(得分:0)
您可以保留ajax过渡,并且仍然可以通过在div中使用数据角色“页面”移动脚本来在第二页上执行javascript。