2011-07-01 11 views
0

私のコードは良くないが、私はベストを尽くした。ここページをリロードせずにオプションを選択

は私のコードです:

function submitForm() { 
    document.getElementById("formElement").submit(); 
} 

jQuery(document).ready(function($) { 
var img = new Image(); 
    $(img).load(function() { 
    $(this).hide(); 
    $('#loader').removeClass('loading').append(this); 
    $(this).fadeIn(800); 
}).attr('src', '.chart.php?id=<? echo $sid; ?>&date=<? echo $order; ?>'); 
}); 

<div id="loader" class="loading"></div> 

<select name="order" class="dropdown" onChange="submitForm()"> 
<option disabled selected> <? echo(CHOOSE); ?> </option> 
<option value="./chart.php?id=<? echo $sid; ?>&date=d"> <? echo(CHOOSE_DAY); ?> </option> 
<option value="./chart.php?id=<? echo $sid; ?>&date=m"> <? echo(CHOOSE_MONTH); ?> </option> 
<option value="./chart.php?id=<? echo $sid; ?>&date=y"> <? echo(CHOOSE_YEAR); ?> </option> 
</select> 

私の問題は、私が選択したオプションを使用する場合は、必ずページをリロードしたくないということ、です。私は私を助けることができると思います

、今^^

+0

常にonchangeをリロードする必要がない場合は、onChangeをsubmitFormにバインドしないでください。あなたは提出するためにどのような条件をお探しですか? – Mrchief

+0

うん、ここでも混乱している。ステーキを注文するとステーキが私に届きます。どうすればそれを止めることができますか? –

答えて

1

のためのTHXあなたはjQueryを使って「アヤックス」を作る方法を学ぶ必要があります。あなたのselectあなたがonChange="submitForm()"

あなたsubmitForm()機能がフォームを送信する呼び出しているで 5 Ways to Make Ajax Calls with jQuery

+0

私はすでに別のコードを試しました。 $( "。ドロップダウン")(var src = $( "option:selected"、this)).val(); $( "#loader ").html(src?" ":" "); }); と私はオプションから値を変更し、送信コードを削除します。 今、最初のimgは表示されません。selectを使用している場合のみです。多分val()== ""なら標準imgを表示する必要がありますか?か何か? ヘルプme ^^ – Mike

1

:あなたはで開始することができます。あなたは常に、あなたのjQuery(document).ready(function($){})コールの内側に、ページをリロードれる、代わりの提出標準形によって、AJAXを経由してフォームを送信したい場合は

、あなたが$.post使用することができます。

jQuery(document).ready(function($){ 
    $('#formElement').submit(function(){ 
     $.post('url/to/post/to.php', $(this).serialize, function(data){ 
      // Some code to run on successful post 
     }); 
     return false; 
    }); 
}) 

この方法では、 submitForm()関数が.submit()を呼び出すと、return false;はページの再読み込みをブロックしますが、$.post()はフォームの送信を処理しているページにデータを投稿します。

+0

こんにちはデイブレイカー、私はそれを動作させることはできません、あなたのコード。今私はアヤックスでそれを試して、まだ実際には動作しません。私は愚かに、すみません。 – Mike

関連する問題