Codeigniterを使用して、ユーザーが送信ボタンをクリックした後でPHPスクリプトを実行しようとしています。 (現在は必須)ajax jqueryを使ってPHPスクリプトを実行する
にログインしhttp://rickymason.net/townbuilder ゲスト/ゲスト:私はかなりの数のチュートリアルに従っていると、次のコードが出ている:それはあなたがここでそれを訪問することができ、実際のページを参照してくださいするのに役立ちたい場合
私の意見(structures.php)では、私が持っている:
<div id="structures">
<h1>Build</h1>
<form name="buildForm" id="buildForm" method="POST">
<select name="buildID" class="buildClass">
<option value="0" selected="selected" data-skip="1">Build a Structure</option>
<?php foreach ($structures as $structure_info): ?>
<option name='<?php echo $structure_info['str_name'] ?>' value='<?php echo $structure_info['str_id'] ?>' data-icon='<?php echo $structure_info['str_imageloc'] ?>' data-html-text='<?php echo $structure_info['str_name'] ?><i>
<?php echo $structure_info['timebuildmins'] ?> minutes<br><?php echo $structure_info['buy_gold'] ?> gold</i>'><?php echo $structure_info['str_name'] ?></option>
<?php endforeach ?>
</select>
<div id="buildSubmit">
<input class="button" type="submit" value="Submit"/>
</div>
</form>
</div>
<div id="output"> Result here</div>
これは私の選択フォームを作成し、HTMLで作成されます。私はテスト目的のために、私ができるのと同じくらい簡単にそれを維持しようとした
$("#submit").submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: '../php/build.php',
data: "",
dataType: 'json',
success: function(data)
{
alert("success!");
}
});
});
:私は、AJAXを実行するための.jsファイルを作成しました。 Javascriptは私には新しく、何らかの理由で非常に混乱しています。私が収集できるものから、このスクリプトは、送信ボタンが押された後にアクティブになるはずです。その後、build.phpスクリプトを実行し、jsonからエコーを返すと成功を警告します。右?
私build.phpスクリプトは以下の通りです:
再び<?php
$query = "INSERT INTO user_structure (str_id, user_id) VALUES ('7', '7')";
mysql_query($query) or die ('Error updating database');
echo "success";
?>
、私が提出クリックしたときに、非常に単純な...
は残念ながら、ページには "リフレッシュ" しているようだが、何も起こりません。私はページ上で何かが起こるとは思っていませんが、データベースは値も受け取りません。
コントローラまたはモデルにbuild.phpファイルまたはbuild.jsファイルがありません。これらはアプリケーションディレクトリの外にあり、CI uri/url構造の外でアクセスされます。
現在のところ、私は単にsubmitをクリックしてPHPスクリプトを正常に実行しようとしています。私の最終的な目標は、フォーム用に作成されたstr_id値を取得し、その変数とuser_idをbuild.phpファイルに渡し、dbエントリを作成し、ページを更新して更新されたDB情報を表示することです。
明らかに、動作していません!どんな助けでも大歓迎です。
それを修正する必要があります;' JSON文字列を返しません。また、フォームが送信されないようにしてください。また、選択ボックスを構築するためにphpタグを開く/閉じるタグが本当に必要ですか? – PeeHaa
まず、ID = "submit"のものは何も持っていないので、jQueryが選んだのは何ですか? –
ありがとう、私はコードを投稿する前にid = 'submit'を削除しました。フォーム名を呼んでいると信じているので、私が模倣していた特定の例がそれを持っていなかったので、私はそうしました。それを指摘してくれてありがとう。 –