我无法向服务器提交表单

时间:2012-07-04 13:22:40

标签: php javascript jquery

我已经创建了一个登录表单并试图使用jquery提交它但它不起作用。我搜索了谷歌但所有方法都有点复杂。这是我的代码

<form id="form1">
<p>Username<p/>
<input type="text" id="username"/>
<p>Password</p>
<input type="password" id="password"/>
<p><input type="Submit" value="Log in" id="button"></p>
</form>

<script type="text/javascript" src="jquery.js"></script>
<script>

$("#button").click(function(){

var username=$("#username").val();
var password=$("#password").val();

$.get("signing.php",{'username':username,'password':password},function(response){
alert(response);
});

});

</script>

我的php文件是这样的

<?php

session_start();

$username=$_POST['username'];
$password=$_POST['password'];

include 'model/existusername.php';//This is used to connect to database and find the user

if (existusername($username,$password))
{
$_SESSION['username']=$username;
echo "loged in";  
}
else
{
echo "not loged in"; 
}

?>

它有什么问题吗?如果我使用一个选择框(虽然对登录无用)而不是输入框,代码工作正常。怎么可能? 谢谢

5 个答案:

答案 0 :(得分:1)

您正在使用$ .get(),它使用jquery发送get请求。

你的php文件正在检查$ _POST vars。

答案 1 :(得分:1)

在表单上添加“action =”,并在此之后添加:

$('#button').click(function() {
  $('#form').submit();
});

不是吗?

你正在使用GET并尝试恢复POST ..我认为这不正常。

答案 2 :(得分:0)

<form id="form1" method="post" action="pathToYourPhpScript">
 <p>Username<p/>
 <input type="text" id="username"/>
 <p>Password</p>
 <input type="password" id="password"/>
 <p><input type="Submit" value="Log in" id="button"></p>
</form>

您必须记住选择方法,并且可以在表单开始标记中进行操作。

作为标准,数据通过GET请求发送,您正试图从帖子中读取。

我提供的示例没有AJAX,但是,如果你想让它与ajax一起工作,你必须改变你的javascript来做一个POST请求。

答案 3 :(得分:0)

将您的方法编辑为如下所示:

$("#button").click(function(event){
    event.preventDefault();

    // ...
});

或者,使用不会导致提交的按钮输入。

<input type="button" value="Log in" id="button">

由于该按钮是提交按钮,因此页面在GET响应到达之前执行表单提交。防止提交发生,您的代码应该有效。

答案 4 :(得分:0)

非常简单

$.ajax({
                        type: "POST",
                        cache:false,
                        async:true,
                        url: "index.php",   
                        data: $('#id').serialize(),                         
                        success: function(data){
                            alert(data);
                        }
            });

这里的id是你的表单id.try这很容易你可以做到