2011-01-19 4 views
0

Я отправляю эту форму в facebox, однако значение имени поля не проходит. Как я могу отправить форму со значением в URL-адресе действия? (Я уверен, что есть более простой способ).Отправить форму В значение Id

<form action="javascript: jQuery.facebox({ajax:'livescore/quickhistory.php'});"  id="search-form" method="post"> 
<div class="wrapper"> 
<input type="text" id="name" value="Gamer Look Up" onBlur="if(this.value=='')  this.value='Gamer Look Up'" onFocus="if(this.value =='Gamer Look Up') this.value=''" /> 
<a href="#" onClick="document.getElementById('search-form').submit()">Submit</a> </div> 
</form> 
+0

Почему вы пытаетесь сделать это в действии формы вообще? Вы все равно используете JavaScript для отправки формы. Не будет ли проще, когда пользователь нажмет эту ссылку «отправить», чтобы вместо этого посмотреть это значение и просто вызвать $ .facebox? Возможно, я неправильно понял. – sdleihssirhc

+0

Да, но проблема в том, что facebox ищет ценность в главном браузере. Я пытаюсь передать значение в facebox –

ответ

0

Я не совсем уверен, что происходит между формой и 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. Вы также должны добавить идентификатор в ссылку отправки, как в примере выше, чтобы упростить выбор однозначно.

+0

Спасибо, но он все еще не работает. Значение не отправлено в facebox –

+0

Возможно, я не должен использовать if (isset ($ _ GET ['glname'])) { $ name = $ _ GET ['glname']; } \t \t на принимающей странице –

+0

Существует, очевидно, код, который мы не видим. Но отправляете ли вы на страницу получения через «GET» или «POST»? Если 'POST', то, конечно, вы найдете представленные данные в' $ _POST ['varname'] '. –

Смежные вопросы