Я не совсем уверен, что происходит между формой и facebox, но для начала, вы должны попытаться двигаться все, что поведенческий код из обработчиков рядных событий:
$(document).ready(function(){
$('#search-form').submit(function(e){
e.preventDefault(); // suppress default form handler
$.facebox({...}); // add your code to presumably handle submission
});
$('#name') // a confusing ID, especially since you should add a "name" attr
.focus(function(){ if(this.value == 'Look up') this.value = ''; })
.blur(function(){ if(this.value == '') this.value = 'Look up'; });
$('a#your-link-id').click(function(e){
e.preventDefault(); // suppress default link behavior
$('#search-form').submit();
});
});
Вашего HTML то может быть упрощено:
<form action="/some_reasonable_default" id="search-form" method="post">
<div class="wrapper">
<input type="text" id="name" value="Look Up" name="some-name" />
<a href="#" id="your-link-id">Submit</a>
</div>
</form>
Обратите внимание, что вы должны добавить к вашему name
<input>
полю. Если вы хотите иметь возможность отправить форму, используя естественное поведение страницы (без переопределяющего кода JavaScript), то получите ваш скрипт обработчика name
и value
. Вы также должны добавить идентификатор в ссылку отправки, как в примере выше, чтобы упростить выбор однозначно.
Почему вы пытаетесь сделать это в действии формы вообще? Вы все равно используете JavaScript для отправки формы. Не будет ли проще, когда пользователь нажмет эту ссылку «отправить», чтобы вместо этого посмотреть это значение и просто вызвать $ .facebox? Возможно, я неправильно понял. – sdleihssirhc
Да, но проблема в том, что facebox ищет ценность в главном браузере. Я пытаюсь передать значение в facebox –