私は JQuery/JS 初心者で、単純な .blur() イベント呼び出しに問題があります。
基本的に、データベース内のフォームの入力要素に入力されたものの存在を検証するためにphpスクリプトを呼び出すことになっている「id = 'validate'」を持つ入力を持つhtmlフォームがあります。
どんな助けでも大歓迎です!
現時点では、「SyntaxError: missing : after property id @ line 6」[at 'alert("Called!!"),'] というエラーが表示されますが、コメントアウトしても何も起こりません。
HTML:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src='../js/validate.js'></script>
<!DOCTYPE html>
<html>
...
<body>
...
<form method="POST" action="upload.php?t=0" class="formbox" style="float:left;" name='aform'>
<label>Category: </label><input type="text" id='validate' maxlength="30" name="category"/><br />
<input style="margin-left:35%;width:130px;" type="submit" value="Submit Article" />
</form>
...
</body>
</html>
検証.js:
$(document).ready(function(){
$('#validate').blur(function(){
$.ajax({
type: "POST",
url: "../php/validate.php",
data: aform.elements["category"].value,
success: function(msg){
alert("Category exists!");
},
error: function(){
alert("Error!");
}
});
});
});
validate.php:
<?php
include '../php/db.php';
echo "Called!";
$cat = mysqli_real_escape_string($con, $_POST['category']);
$query = mysqli_query($con, "SELECT DISTINCT * FROM Category WHERE Name='".$cat."';");
if(mysqli_num_rows($query) == 1){
echo "Category Exists!";
}else if(mysqli_num_rows($query) == 0){
echo "No Category with that name found!";
}else{
echo "Too many Categories found!";
}
?>
前もって感謝します!
EDIT:将来の参考のために、私はPOSTデータを参照するのに問題がありました. = "category"]').value,' を js ファイルで使用し、php ファイルで "$_POST['cat']" を参照する