2014-05-14 2 views
0

Я изучаю javascript сейчас. Следующий код работает правильно, но после того, как я нажму кнопку, страница освежает. Это нежелательно. Любая помощь будет назначена. Спасибо заранее.Почему перезагрузка страницы после запуска этого скрипта

<html> 
<head> 
</head> 
<body > 
<form> 
<input onchange="chk_change();" type="checkbox" id="chk_city" checked="checked"><label  for="chk_city">All cities</label></input><br> 
<select id="sel1" style="display:none;margin:20 0 0 0;padding:3; width:100"> 
<option id="opt1">London 
<option id="opt2">Moscow 
<option id="opt3">Tokyo</option> 
</select> 
<br> 
<button id="btn1" onclick="aa();">Go</button><br> 
<p id="p1" style="border:1px solid black;width:200;height:50"></p> 
</form> 
</body> 



<script type="text/javascript" > 
function chk_change(){ 

var ch=document.getElementById('chk_city').checked; 
    if (ch ==true){ 
    ch=document.getElementById('sel1').style.display='none'; 
    } 
    else { 
    ch=document.getElementById('sel1').style.display='block'; 
    } 

} 



function aa(){ 

sel = document.getElementById('sel1'); 

var text=(sel.options[sel.selectedIndex].text); 
var ch=document.getElementById('chk_city').checked; 
    if (ch ==true){ 
    document.getElementById('p1').innerText="All cities"; 
    } 
    else{ 
    document.getElementById('p1').innerText=text; 
    } 
} 

</script> 


</html> 
+1

A '

+0

Я не вижу причин, которые бы не сработали, но попробуйте удалить '

', он может быть подключен. – Mikk3lRo

+0

@Chris нет jquery участие и не помечены с ним – Huangism

ответ

4

Поведение по умолчанию любой кнопки в форме - это кнопка отправки, что означает, что это приведет к перезагрузке страницы. Установите свойство type='button' на кнопку, и оно будет действовать как простая кнопка, не отправив ничего.

+1

Вы можете '

+0

Это так, но я обещаю, это сработает. –

+0

Я буквально орал, когда понял это на работе. Не знаю, почему я получил понижение - это на 100% реально. –

Смежные вопросы