そこで、表示用の jQuery ダイアログ UI と ajax 送信用の jQuery フォーム プラグインを使用して、複数のフォームを含む html サイトを作成しました。
フォームは次のようになります。
<form id="login_form" action="admin.php" method="post">
Username: <input type="text" name="username" id="username"/><br/>
Password: <input type="password" name="password" id="password"/>
</form>
...フォーム オプションは次のようになります。
$('#login_form').dialog({
buttons:{
"Login": function(){
var options = {
success: function(data){
alert(data);
$(this).dialog("close");
$('#news_form').dialog("open");
},
timeout: 3000,
fail: function(data){
alert('fail');
},
clearForm: true
};
// bind form using 'ajaxForm'
$('#news_form').ajaxSubmit(options);
},
"Exit": function(){
$(this).dialog("close");
}
}
});
...そしてphpファイルは単純です:
<?php
$data = 'Herro!';
echo $data;
?>
問題は、フォームが成功すると、'Herro!' ではなく、送信元の HTML ページを返すことです。私が予想したように。それで、私は何を間違っていますか?
admin.html ファイルと admin.php ファイルの両方が同じディレクトリにあります。
また、Webはxamppを介してローカルで実行されますが、Webサーバーにも配置しようとしましたが、改善はありませんでした。
最終編集: 実際、DOM で別のフォーム オブジェクトを呼び出してデータを送信していたため、アクション プロパティが設定されていないフォームに問題がありました。迅速な解決策をありがとうございました。