重複の可能性:
jquery ajax return:undefined
次のコードを記述して、メールがすでに存在するか、jqueryとjqueryvalidateを使用していないかを確認します。jqueryはメール形式の検証に使用されます。jquery関数で****check-email.php**ファイルを呼び出しました。データベースにemailaddressが存在していても、アクションが呼び出され、ダッシュボードページに移動します。実際には、次のページに移動しないでください。メールはすでに存在します。私の**"falseを返します;" jquery関数では効果がありません。dbに存在する場合でも次のページに移動します。私は間違っているところを取得していません???
これが私のコードです
index.html:-
<form name="mysignupform" id="mysignupform" class="form-horizontal" action="Dashboard" method="post">
<div class="control-group">
<label class="control-label" for="inputEmail" >Email</label>
<div class="controls">
<input type="text" name="email" id="inputEmail" placeholder="Email" >
</div>
</div>
<br/>
<div class="control-group">
<label class="control-label" for="inputPassword" >Password</label>
<div class="controls">
<input class="password" type="password" name="password" id="inputPassword" placeholder="Password">
</div>
</div>
<div class="controls">
<input type="hidden" id="body" name="body" value=""></input>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" name="submit" id="signupsubmit"class="btn btn-inverse" onsubmit="return function(e)">Go to Dashboard</button>
</div>
</div>
</form>
私のjquery関数:-
<script>
$(document).ready(function(){ //newly added
$('#signupsubmit').click(function()
{
alert('in');
var emailVal = $('#inputEmail').val(); // assuming this is a input text field
alert(emailVal);
$.post('check-email.php', {'email' : emailVal}, function(data) {
if(data=='true') return false;
else $('#mysignupform').submit();
});
});
});
</script>
私のチェック-email.php:-
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mojiva", $con);
$sql = "SELECT email FROM user_info WHERE email =".$_POST['email'];
$select = mysql_query($sql,$con);
$row = mysql_num_rows($select);
if ($row > 0)
{
echo 'true';
}
else
{
echo 'false';
}
?>
$('#signupsubmit')。click(function()の直後にjquery関数でtrue falseを試しましたが、この時点でこの関数はtrueを返します。しかし、postが呼び出されても、falseを返す効果はありません。