次の2つのリンクでコードを確認しました:http: //pastebin.com/iUd22CRY http://www.jensbits.com/2009/10/04/jquery-ajax-and-jquery-post-form-submit- examples-with-php
コード自体ではすべてがかなり明確に見えますが、どのコードブロックがどのファイル名に関連付けられているかについての完全なストーリーを理解することはできません。基本的に、私はPDOオブジェクトとの対話にjQueryのpost関数を使用するための最新のガイドを見つけようとしていますが、それは非常にうまくいきませんでした。
次に行う予定は、ファイル名がどうあるべきかわからない場合に、w3schoolsの例を変換/更新することです。基本的に、ペーストビンを使用すると、コードの最初の3つの段落がどこにあるかはわかっていると思いますが、JavaScriptを最後の近くに配置する場所がわかりません。しかし、私がスラムに入る前は、誰かが私のコードを調べてくれることを望んでいました。問題がわかりますか?
-編集-Chromeのコンソール(ctrl+shift+j
ブラウザ内)でエラーに気づきました:http:Uncaught SyntaxError: Unexpected token ; encode.js:17
//ajform.99k.org/issues/semicolon/またはUncaught ReferenceError: $ is not defined encode.js:1
http://ajform.99k.org/issues/orderofappearance/
ファイルシステムの構造:
webroot/sitename/index.php
; webroot/sitename/process_form.php
; webroot/sitename/js/jquery-1.8.2.js
;webroot/sitename/js/encode.js
index.php:
<!DOCTYPE html>
<html>
<head>
<title>Tmp homepage</title>
<script type="text/javascript" src="js/encode.js"></script>
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
</head>
<body>
<form id="ajform">
<fieldset>
<legend>jQuery.post Form Submit example</legend>
<p>
<label for="name">Name:</label></br />
<input id="name" type="text" name="name" />
</p>
<p>
<label for="email">email:</label></br />
<input id="email" type="text" name="email" />
</p>
<p>
<input type="submit" value="Submit" />
</p>
</fieldset>
</form>
<div id="post"></div>
</body>
</html>
encode.js:
$(document).ready(
$(function(){
$("#ajform").submit(function(e){
e.preventDefault();
$.post("../process_form.php", $("#ajform").serialize(),
function(data){
if(data.email_check == 'invalid'){
$("#post").html("<div class='errorMessage'>Sorry " + data.name + ", " + data.email + " is NOT a valid e-mail address. Try again.</div>");
} else {
$("#post").html("<div class='successMessage'>" + data.email + " is a valid e-mail address. Thank you, " + data.name + ".</div>");
}
}, "json");
});
});
)
process_form.php:
<?php
$email_check = '';
$return_arr = array();
if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) || filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$email_check = 'valid';
}
else {
$email_check = 'invalid';
}
$return_arr["email_check"] = $email_check;
if (isset($_POST['email'])){
$return_arr["name"] = $_POST['name'];
$return_arr["email"] = $_POST['email'];
}
echo json_encode($return_arr);
-編集-エラーを処理した後、回答者のおかげで、作業バージョンはhhttp://www.jensbits.com/demos/jqsubmit/index.phpにあります。