2011-01-19 40 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 2011-01-19 04:39:41

+0

是的,但问题是facebox正在寻找主浏览器上的价值。我试图将值传递给facebox – 2011-01-19 04:52:49

回答

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代码),namevalue是你的处理程序脚本将会收到的。您还应该为提交链接添加一个ID,如上例所示,以便更容易地进行选择。