2016-04-28 21 views
0

私は2つのボタンを持っているので、1つはドッグリストに犬を追加し、もう1つはリスト全体をクリアします。javascriptボタンをクリックするとページが更新されません。

どちらもうまくいけば、私を悩ますのは、OnSubmitボタンだけがページをリフレッシュするということだけです。

犬のリストがOnReadyに読み込まれ、アイテムが追加されたときにのみリストが更新されます。リストをクリアすると、手動でページを更新して変更を確認する必要があります。

function OnSubmit(event) { 
    addToStorageList(dogs, dog); 
} 

function OnClickClearList() { 
    localStorage.setItem('dogs', JSON.stringify([])); 
}  

function addToStorageList(listName, itemToAdd) { 
    var list = JSON.parse(localStorage.getItem(listName)); 
    if (!Array.isArray(list)) { 
     list = []; 
    } 
    list.push(itemToAdd); 
    localStorage.setItem(listName, JSON.stringify(list)); 
} 

$('#btn1').click(OnSubmit); 

$('#btn2').click(OnClickClearList); 

ありがとうございました!

+1

2番目に 'type =" submit "ボタン。質問にあなたのHTMLを追加することができれば、確かにあなたに伝えることができます。 –

+0

両方のボタンにはタイプがありません – SJ19

+0

ボタン「

答えて

2

それらの私の意見を誰もがリフレッシュすべきで、あなたが

「location.reload();」を使用する必要があります更新してあなたの機能

理由そのうちの一つリフレッシュの終わりに

を私は見ることができない(あなたが投稿していない)コードか、OnSubmitと呼ばれ、フォーム送信ボタンなどを妨害しているコードのいずれかです

+0

ええええええ、すべてのボタンをOnSubmitにリダイレクトしてIDを使用して分離するほうが良いでしょうか? – SJ19

+0

それはあなた次第ですが、私にとっては、 "OnSubmit"をリフレッシュすることは "未定義の動作"なので、 "location.reload()"を使用し、ブラウザ固有の動作かもしれないので、funtionの名前を変更することもあります。 – user3252497

+0

申し訳ありませんが、フォーム用ではないボタンに対してはreload()を使用します。あなたはどのように複数のフォームボタンを操作するつもりですか? (フォームがもっと必要な場合) – SJ19

関連する問題