0

誰かが私のデザインの問題を手伝ってくれることを願っています。私はindex.phpを持っています:

これには、JavaScript のコードが含まれています。

<script type="text/javascript">
$(function() {
    $.getJSON('http://localhost/getData.php', function(data) {

    foo...

index.php には、画面を更新するフォームも含まれています。

<form action="index.php" method="post" />
<input type="submit" name="action" value="update" /></p>

今私の問題は、いくつかの変数を getData.php に渡して画面を更新する必要があることです。getData は静的情報で問題なく機能しますが、フォームの選択に基づいてデータが変更されます。

変数を渡す最良の方法は何ですか?

それとも、これを間違って設計していますか?

ありがとう


私の更新されたJavaScriptは次のようになります:

<script type="text/javascript">
$(function() {
$.getJSON('http://localhost/getData.php', {
group_value: $('#group_id option:selected').val(),
updatedb_value: $('#update_db_id').val() 
}, function(data) {

次に、私のフォームは次のようになります。

<form id="myform" action="index.php" method="post" />
<select id="group_id" name="group">
<option value="0">Atlanta</option>
<option value="1">Chicago</option>
<option value="2">Los Angeles</option>
<option value="3">New York</option>
</select>
<input type="submit" name="action" value="Update" />
<input type="checkbox" id="update_db_id" name="update_db" value="1" />Update DB?<br />
</form>

何を選択またはチェックしても、更新ボタンをクリックするたびに、JS コンソールにそれが表示されます

GET http://localhost/getData.php?group_value=0&updatedb_value=1

助言がありますか?

4

2 に答える 2

2

を使用$(input_selector).val()してフォーム入力の値を取得し、次のようにオブジェクトとして getJSON に渡すことができます。

$.getJSON('http://localhost/getData.php', {
    some_value: $(some_input).val(),
    other_value: $(other_input).val()
}, function(data) { ... });

serializeを使用して、すべてのフォーム データを渡すこともできます。

$.getJSON('http://localhost/getData.php', $(form_selector).serialize(), function(data) { ... });
于 2012-04-27T00:42:26.840 に答える
0

うーん。次の行をよく見てください。

<form id="myform" action="index.php" method="post" />

おっとっと。フォームを閉じました。これにより、input/select 要素の更新方法に問題が発生している可能性があります。次のように変更してみてください。

<form id="myform" action="index.php" method="post">

また、実際には、select 要素に複雑なセレクターは必要ありません。これにより、選択した値も取得されます。

$('#group_id').val()
于 2012-05-02T01:59:29.610 に答える