#javascript #php #html #forms
#javascript #php #HTML #формы
Вопрос:
В любом случае, сразу к делу. Мне нужна помощь в получении кнопки отправки формы, чтобы очистить поле ввода, а также отправить введенную информацию. Не очень подробно, верно?
Вот пример. Пользователь вводит данные в поле. Пользователь нажимает отправить. Затем отправленная информация открывается на новой вкладке. Затем оригинальная вкладка с полем ввода обновляется, чтобы удалить текст в поле ввода.
Это моя текущая форма. Я попробовал реализовать javascript. Он работал для удаления информации при нажатии, но не отправлял информацию обработчику. Можете ли вы сказать мне, как это исправить?
<form class="form-inline" role="form" method="post" target="_blank" action="derp.php">
<input id="banfix" type="text" name="player" class="form-control" placeholder="Player Username">
<button type="submit" class="btn btn-default" onclick="document.getElementById('banfix').value='';return false;">Search</button>
</form>
Я не против, чтобы это было на php или javascript. Мне просто нужно знать, как решить мою проблему.
Комментарии:
1. сколько полей у вас в форме, только одно или несколько..
2. В моем коде у меня есть только один.
Ответ №1:
Использование jquery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
//clear data
$('.form-inline').on('submit','.form-inline',function(){
var value = $("#banfix").val();//now you have the value
$("input[type=text], textarea").val("");
});
});
</script>
Комментарии:
1. Это не сработало. Он открывает новую вкладку и отправляет информацию, но не очищает область ввода.
Ответ №2:
может сбросить вашу форму после отправки
$(".myform")[0].reset();
Ответ №3:
Используйте onsubmit()
, это сработает, когда пользователь нажмет кнопку или просто нажмет enter
<form class="form-inline" role="form" method="post" target="_blank" action="derp.php" onsubmit="document.getElementById('banfix').value='';">
<input id="banfix" type="text" name="player" class="form-control" placeholder="Player Username">
<button type="submit" class="btn btn-default">Search</button>
</form>
Комментарии:
1. Это открывает новую вкладку, но очищает отправленную информацию.
Ответ №4:
Вы можете открыть новое окно в derp.php файл после отправки формы.
<?php
$banfix = $_POST['banfix'];
$new_url = "YOUR_URL_HERE?fix=".$banfix;
echo "<script type='text/javascript'>window.open('".$new_url."','_blank');</script>";
http_redirect('YOUR_FORM_URL_HERE');
die();
?>
Ответ №5:
<form class="form-inline" role="form" method="post" target="_blank" action="derp.php">
<input id="banfix" type="text" name="player" class="form-control" placeholder="Player Username">
<button type="submit" class="btn btn-default" onclick="setTimeout(function() {
document.getElementById('banfix').value='';return false;
}, 100);">Search</button>
</form>
Я добавил функцию тайм-аута в свой onclick. Моя проблема заключалась в том, что отправляемая информация очищалась до ее отправки. Поэтому я установил тайм-аут в 100 тактов, чтобы информация могла быть отправлена первой. :3