Скрыть / показать раздел после отправки формы? - PullRequest
7 голосов
/ 23 августа 2011

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

<head>

<script type="text/javascript">
 function showHide() {
   var div = document.getElementById(hidden_div);
   if (div.style.display == 'none') {
     div.style.display = '';
   }
   else {
     div.style.display = 'none';
   }
 }
</script>

</head>


<body>

<form method="post" name="installer">

<label>Home Keyword</label>
<br />
<input type="text" name="hello" value="">
<br />
<input type="submit" value="" name="submit" onsubmit="showHide()">

</form>

<div id="hidden_div" style="display:none">
<p>Show me when form is submitted :) </p>
</div>

</body>

Любая помощь будет принята с благодарностьюВы:)

Ответы [ 2 ]

17 голосов
/ 23 августа 2011

Я думаю, что вы просто пропускаете кавычки вокруг "hidden_div" в вашем document.getElementById("hidden_div") звонке!

Но на самом деле ваша страница, вероятно, отправляет обратно, сбрасывает состояние страницы и, таким образом, оставляет hidden_div, по-видимому, всегда в скрытом состоянии - вы намереваетесь обработать отправку формы через AJAX?

Если вы хотите увидеть намеченное поведение, вам следует переместить вызов showHide() к элементу <form> и вернуть false после него:

<form method="post" name="installer" onsubmit="showHide(); return false;">

и оставьте кнопку отправки как:

<input type="submit" value="" name="submit" />

Также обратите внимание, что вы не закрыли сам тег кнопки <input /> и не указали текст для отображения внутри него.

2 голосов
/ 23 августа 2011

вам нужно поместить showhide функцию в форму onsubmit вместо input

<form method="post" name="installer" onsubmit="showHide()">

вы также пропускаете кавычки, так как @Cory упоминает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...