2014-04-14 6 views
0

Я закодировал html-форму и хотел бы скрыть div при представлении, используя javascript. По какой-то причине div не скрывается.Скрыть Div на submit

DIV код & Форма:

<div id="map"><iframe src="sourceurl" width="700" height="300" frameborder="0"></iframe></div><br /> 

<form method="get" action="<?php echo $url = basename($_SERVER['PHP_SELF']); ?>" onsubmit="mapHide(); return false;"> 

<select name="country" onchange='this.form.submit()'> 
<input type="hidden" name="action" value="submit" /><br> 
</select> 
</form> 

JS:

<script> 
function mapHide() { 
document.getElementById('map').style.display = 'none'; 
} 
</script> 
+4

Это, вероятно, скрыто, но поскольку ваша форма отправляется обратно к себе, вы не увидите ее, поскольку страница перезагружается. – j08691

+2

Форма отправляется, перезагружается страница, и javascript теряется. – adeneo

+1

вы возвращаете 'false' из onsubmit, который отключает отправку. вы создали эту форму для отправки на сервер или просто спрятали div и НЕ отправили что-нибудь? –

ответ

0

Похоже, это будет проще всего с помощью PHP. Проверьте, была ли форма отправлена ​​и соответствующим образом отображен контент.

if($_SERVER['REQUEST_METHOD'] == 'POST'){ //form was submitted content } else{ //empty form }

+0

К сожалению, я не могу найти способ попытаться реализовать ваш приведенный выше код – user3492795

+0

, вы ставите форму во вторых скобках и обрабатываете форму в первых скобках, включая любые сообщения клиенту. – Sam

0

вы, вероятно, нашли код предназначен для onsubmit и использовал его для OnChange события. Я не эксперт в этом, но на основании того, что я прочитал до сих пор, onchange = «this.submit.form()» обновит или перезагрузит вашу страницу, поэтому все просто сбрасывается.

Я попытался с помощью кода и поместить его на

<input type="submit" onsubmit="this.form.submit();" /> 

и она работает. Итак, возможно, что вы можете сделать, это сделать с помощью AJAX.

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