現在、Javascript で検証する必要がある多くのテキスト ボックスを含む HTML ページがあります。それらがすべて検証されたら、controller.php を介してユーザー アカウントを作成したいと考えています。
私の質問は次のとおりです。Javascript 関数内から PHP ファイルに POST するにはどうすればよいですか。AJax は使えるとのことですが、できればこれなしで使いたいと思っています。
ありがとう
現在、Javascript で検証する必要がある多くのテキスト ボックスを含む HTML ページがあります。それらがすべて検証されたら、controller.php を介してユーザー アカウントを作成したいと考えています。
私の質問は次のとおりです。Javascript 関数内から PHP ファイルに POST するにはどうすればよいですか。AJax は使えるとのことですが、できればこれなしで使いたいと思っています。
ありがとう
postメソッドを使用してフォームを作成し、phpスクリプトを指すようにします。以下のように設定した場合、htmlフォームのデフォルトの動作で投稿が行われるため、javascript関数から投稿する必要はありません。また、JavaScriptが有効になっていない人にとっては正常に機能が低下します。
<form action="/path.to.your.php.file.php" method="POST" onSubmit="return validate();">
... your fields...
<input type="submit" value="validate and submit"/>
</form>
<script>
function validate(){
// do your validation here
return true; // return true if validation was ok, false otherwise
}
</script>
JQueryライブラリを使用してAJAXを使用する場合は、次のようにしてページに投稿できます。
$.ajax({
type: 'POST',
url: url,
data: data,
success: success,
dataType: dataType
});
また
$.post('controller.php', function(data) {
//do something with the result
});
フォームの名前を次のように指定します...
<form name="myForm" id="form1" method="post" action="phpScriptToPostTo.php">
...次に、このjavascriptを実行します。
document.forms["myForm"].submit();
...またはjQueryでこれ:
$('#form1').submit();
...またはajax上のjQueryでこれ:
$.post('server.php', $('#form1').serialize())