Итак, я нашел этот пример JSFiddle. В JSFiddle работает хорошо, проблема в том, что даже если я ищу любой! = Из "advogados" (просто тестирование), браузер переходит к: http://www.site.com/index.html?procura=teste
Нет конфликта jQuery, нет проблемы с html.
Здесь JS
$("#procura").on("submit", function(event){
// prevent form from being truely submitted
event.preventDefault();
// get value of text box
name = $("#procura_texto").val();
// compare lower case, as you don't know what they will enter into the field.
if (name.toLowerCase() == "advogados")
{
//redirect the user..
window.location.href = "http://jornalexemplo.com.br/lista%20online/advogados.html";
}
else
{
alert("no redirect..(entered: " + name + ")");
}
});
Если ваш javascript находится где-то в вашем HTML до вашего <form>
ваш $("#procura")
будет пустым, поэтому действие submit не будет привязано ни к чему. Попробуйте следующий код:
<html>
<head>
<script type="text/javascript" src="/path/to/your/jquery.js"></script>
<script type="text/javascript">
$(function() {
// This code will be run if your document is completely
// parsed by the browser, thus all below elements are
// accessible
$('#procura').on('submit', ....);
});
</script>
</head>
<body>
<form id="procura">...</form>
</body>
</html>
$(function() {})
также известен как $(document).ready(function() {})
, (документация)
Вы не определяете имя переменной. http://jsfiddle.net/zwbRa/59/
var name = $("#procura_texto").val();
var
. без этого он либо определится с глобальной областью действия, либо потерпит неудачу. Это единственная проблема с этим вопросом. Посмотри на скрипку, она работает.
name = $("#procura_texto").val();
usevar name = $("#procura_texto").val();
Я не уверен, если это будет иметь какое-либо значение, хотя ..