2017-03-22 31 views
1

我想弄清楚如何在我的模板中切換兩種CSS樣式,所以我可以改變使多語言網站,做到這一點,我創建了一個有兩個輸入按鈕組成:使用javaScript切換CSS文件無法使用輸入按鈕POST方法

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST"> 
    <input type="submit" id="style1" name="ar" value="Style1" /><br> 
    <input type="submit" id="style2" name="en" value="Style2" /> 
</form> 

我使用jQuery函數的代碼:只爲毫秒

$('#style1').click(function(){ 
    $('link[href="layout/css/ltr_theme.css"]').attr('href','layout/css/rtl_theme.css'); 
}); 
$('#style2').click(function(){ 
    $('link[href="layout/css/rtl_theme.css"]').attr('href','layout/css/ltr_theme.css'); 
}); 

風格的變化,然後返回到它以前的風格。 僅供參考,我試着用<input/>替換,並嘗試了另一種方法,並且它工作正常,但我需要輸入法的原因是使用POST方法調用PHP中的另一個腳本以同時包含語言文件。 希望我能找到人來幫我解決這個問題,謝謝。

回答

0

當你點擊提交按鈕時,頁面刷新自己(因爲它發送POST請求,而你沒有使用AJAX來處理它)。因此,您需要使用https://api.jquery.com/jquery.post/

當您單擊該鏈接時,由於鏈接是本地鏈接(#style),因此它不刷新頁面。

+0

謝謝@Runnick,我會嘗試使用Ajax。 –

0

改變了...

$('#style1').click(function(){ 

要這個......

$('#style1').click(function (event){ 
    event.preventDefault(); 

重複第二個按鈕。

這會阻止頁面因表單提交而重新加載。

+0

謝謝你的工作,但這裏彈出的問題是,PHP腳本將不會實現,如果頁面不重新加載。所以語言不會改變@ WebCode.ie –