現在、 jQuery Mobile を使用して 6 ページのフォームを作成しておらず、フォームの結果の処理に問題があります。私がやりたいことは、すべてのデータを .php スクリプトに送信して、.php スクリプトがデータベースに印刷および/または保存できるようにすることです。
私は頻繁に変数名を変更することに問題を抱えていました。私はjQueryとAjaxにかなり慣れていないので、おそらく誰かがこれを行うためのより良い方法を知っています. 私の思考プロセスがどのように下にあるかを説明しようとしました。
誰かが私に正しい方向を示すことができるようなことをしましたか? 私はここで何をグーグルするかについてほとんど暗闇の中にいます。おそらく関連するものへのリンクですか?コードがあれば投稿しますが、実際に試すのに役立つものはまだ見つかりません。ただし、私のフォームは .php 関数を介して生成されますが、結果の保存はそれとは逆です。
要求:
- ページのリロードなし
- db に保存する前に mysql_real_escape_string を使用する可能性がある
- 送信方法: POST
- ターゲット db テーブルには question_id、option_id、user_id、date などが必要です (コメントの可能性がある場合)。
HTML 疑似コード (.PHP によって生成) - スパン/フィールドセット/ラベルなどなし
<form action="<!-- What to put here?-->" method="POST" id="questions">
<input type="radio" name="1[]" value="1"/>
<input type="radio" name="1[]" value="2"/>
<input type="radio" name="1[]" value="3"/>
<input type="checkbox" name="2[]" value="1"/>
<input type="checkbox" name="2[]" value="2"/>
<input type="checkbox" name="2[]" value="3"/>
<input type="checkbox" name="2[]" value="4"/>
<textarea name="2[]" placeholder="Type here..."></textarea>
<!-- ... -->
<a type="submit" href="#results" onclick="formSubmit()" data-role="button">Submit</a>
</form>
JavaScript コード:
function formSubmit()
{
document.getElementById("questions").submit();
}
.php での望ましい出力:
$answers = ("questionid" => "answerid", "questionid" => "answerid", "questionid => "answertext") すべてのチェックボックス/ラジオボタンとテキストフィールド != ""。
編集:
おそらくフォームに id が必要であることがわかったので、ここではquestionという名前にします。
これを行う最善の方法は、送信ボタンのonclick
で.php スクリプトを呼び出すことでしょう。