我是JQuery的新手。我正在使用JQuery mobile构建一个网站,我被困在登录表单上。我只是想将用户名和密码发送到PHP文件。
当我输入用户名和密码时,它会将我引导至以下链接:
http://www.mydomain.com/mainfolder/#/mainfolder/?username=abc&password=123&myLat=&myLon=
而不是:
http://www.mydomain.com/mainfolder/php/login.php?username=abc&password=123&myLat=&myLon=
我希望有人可以帮助我。对不起,这是我在这个网站上的第一篇文章,我在发布代码时遇到了困难:)
提前致谢。
代码是:
<form id="loginForm">
<div data-role="fieldcontain">
<label for="username">username</label>
<input type="text" name="username" id="username" value="" />
</div>
<div data-role="fieldcontain">
<label for="password">password</label>
<input type="password" name="password" id="password" value="" />
</div>
<input type="hidden" name="myLat" id="myLat" value="">
<input type="hidden" name="myLon" id="myLon" value="">
<input type="submit" id ="submit" data-role="button" data-inline="true" value="submit" />
</form>
<p><script type="text/javascript">document.write(new Date());</script></p>
<div id="error"></div>
</div>
<script>
$(document).ready(function()
{
$("#loginForm").submit(function(e)
{
// stop form from submitting normally
e.preventDefault();
// clear error html
$("#error").html('');
dataString = $("#loginForm").serialize();
$.ajax(
{
url: "/php/login.php",
type: "POST",
data: dataString,
success: function()
{
alert("success");
$("#error").html('submitted successfully');
},
error:function()
{
alert("failure");
$("#error").html('there is error while submit');
}
});
});
});
</script>
PHP代码:
<?php
session_start();
$username = $_post['username'];
$password = $_post['password'];
?>
答案 0 :(得分:1)
您使用的浏览器是什么?尝试制定代码标准投诉,然后重试。据我所知,基于w3规范的表单标记中需要“action”字段。虽然这不会在这里发挥作用,因为你使用ajax可能会混淆浏览器。因此,请将表单开始标记更改为:
<form method="POST" action="/mainfolder/php/login.php" id="loginForm">
还要将脚本声明更改为:
<script type="text/javascript">
看看是否有帮助。
编辑:刚确认操作字段是必需的。见17.3节 http://www.w3.org/TR/html401/interact/forms.html