#javascript #html #jsp
#javascript #HTML #jsp
Вопрос:
Я пытаюсь перенаправить на другую страницу при возникновении конкретного события…Это мой код .. но он не перенаправляет на другую страницу, но код JavaScript работает…
<form class="list-group-item" method="get" onsubmit="action='Search.jsp'; myFunction('name');return false;" >
<input type="hidden" name="item" value="<%=1%>">
<i class="fa fa-arrow-circle-right fa-fw "></i> <span onsubmit="action='Search.jsp'" onclick="action='Search.jsp';document.getElementById('div1').style.display = 'block';setValue('Subject')" style="margin-left:1%">Subject </span>
<span class=" text-muted small" onclick="document.getElementById('div1').style.display = 'block';setValue('Subject And')" style="margin-left:40%"><em> And <i class="fa fa-angle-down "></i></em>
</span>
</form>
Сначала я попробовал action=»search.jsp» вне onsubmit, но это не сработало..Я новичок во всем этом, и я не знаю, что делать?
Ответ №1:
Добавьте кнопку внутри <form>
тега
<input type="submit" value="Submit">
Добавить атрибут действия в тег формы
action="Search.jsp"
Всякий раз, когда вы нажимаете Submit
кнопку, страница будет перенаправлена на Search.jsp
Комментарии:
1. Сначала я попробовал action=»search.jsp» вне onsbmit, но это не сработало.
2. Вам необходимо отправить форму
Ответ №2:
1) Если вы просто хотите перенаправить ее на Search.jsp
после отправки формы, удалите весь дерьмовый JS-код из своей формы и добавьте простой action
атрибут form tag
.
2) Action attribute
ведет себя как перенаправление, если вы отправляете форму.
3) Написание JS-кода в HTML-тегах — плохое соглашение. Всегда пишите код JS в <script>..</script>
блоках или другой JS file
, а затем включайте его.
<form class="list-group-item" method="get" action="Search.jsp" >
<input type="hidden" name="item" value="<%=1%>">
...
...
</form>
или
Вы можете ajaxify
использовать свой код (то есть отправить форму через ajax, а затем перенаправить).
<form class="list-group-item" method="get" action="Search.jsp" name="search" >
<input type="hidden" name="item" value="<%=1%>">
...
...
</form>
<script>
$(function(ev){
ev.preventDefault();
$("form:[name='search']").on("submit", function(){
var form = $(this);
var data = form.serialize();
var action = form.attr("action");
$.get(action, data)
window.location.replace("http://stackoverflow.com");
});
});
</script>
Ответ №3:
Просто return true
из myFunction
и используйте <input type="submit">
для отправки формы.
Пример кода: (читайте встроенные комментарии)
<script type="text/javascript">
function myFunction() {
/* return false in case of validation fail */
alert("Hi");
return true;
}
</script>
<form class="list-group-item" action="Search.jsp" method="get"
onsubmit="return myFunction()">
<!-- other fields -->
<input type="submit" value="Submit" />
</form>