2011-07-01 100 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> 

我的問題是,我不想,如果我使用選擇的選項始終重新加載頁面。

我希望任何能幫助我,THX現在^^

+0

如果你不想重新加載onchange,那麼不要將onChange綁定到submitForm。您希望提交什麼條件? – Mrchief

+0

是的,在這裏也是困惑。當我點牛排時,他們給我拿一塊牛排。我怎麼能阻止呢? –

回答

1

你需要學習如何使「Ajax」的使用jQuery。你可以這樣開始: 5 Ways to Make Ajax Calls with jQuery

+0

我試了一個不同的代碼: $(「。dropdown」)。change(function(){ var src = $(「option:selected」,this).val(); $(「#loader 「).html(src?」「:」「); }); 和我更改選項的值,刪除提交代碼。 但現在第一img不顯示,只是如果我使用選擇。也許我必須使用如果val()==「」然後顯示標準img?或者其他的東西? thx求救我^^ – Mike

1

在您select您呼叫onChange="submitForm()"

submitForm()功能提交表單。

如果你想通過ajax提交表單,而不是由一個標準的表單提交,這將始終重新加載頁面,那裏面你jQuery(document).ready(function($){})呼叫時,您可以使用$.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

你好破天荒,我不能讓它工作,你的代碼。現在我用ajax嘗試它,但仍然沒有工作。即時通訊愚蠢,對不起,傢伙。 – Mike

相關問題