Javascript 提交带有原型的远程表单
我有一个像这样的远程表单和一个复选框。当我选择或取消选择复选框时,我想Javascript 提交带有原型的远程表单,javascript,ruby-on-rails,prototypejs,Javascript,Ruby On Rails,Prototypejs,我有一个像这样的远程表单和一个复选框。当我选择或取消选择复选框时,我想 设置隐藏字段的值 ajax将此表单提交到其指定的url 我尝试了$('search_form').onsubmit(),但是我得到一个错误,说onsubmit不是一个函数。使用原型。最好的方法是什么 <form onsubmit="new Ajax.Request('/searches/search_set?stype=1', {asynchronous:true, evalScripts:true, paramete
<form onsubmit="new Ajax.Request('/searches/search_set?stype=1', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;" method="post" id="new_search" class="new_search" action="/searches/search_set?stype=1">
<div style="margin: 0pt; padding: 0pt; display: inline;">
<input type="hidden" value="3TWSyMsZXI0nltz7zHAxuj1KX=" name="authenticity_token">
</div>
<a onclick="setSubmit(this);" href="#" class="submit-link-button fg-button ui-state-default fg-button-icon-left ui-corner-all" id="search_submit">
<span class="ui-icon ui-icon-search"></span>'Search'
</a>
</div>
<input type="checkbox" value="Energy" onclick="refreshResults(this);" name="search[conditions][article_tag][0]" id="search_conditions_article_tag_0">
也许您可以尝试以下方法:
<form method="post" id="new_search" class="new_search" action="/searches/search_set?stype=1">
<a href="#" class="submit-link-button fg-button ui-state-default fg-button-icon-left ui-corner-all" id="search_submit">
<span class="ui-icon ui-icon-search">Search</span>
</a>
<input type="hidden" name="hidden_field_name" value="" id="hidden_field_id" />
<input type="checkbox" value="Energy" name="search[conditions][article_tag][0]" id="search_conditions_article_tag_0" />
</form>
<script type="text/javascript">
var Search = {
send: function(event, element) {
$('hidden_field_id').value = element.value;
var form = element.up('form');
new Ajax.Request('/searches/search_set?stype=1', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)}); return false;
Event.stop(event);
}
};
document.observe('dom:loaded', function(event) {
$("search_conditions_article_tag_0").on("click", Search.send);
});
</script>
变量搜索={
发送:函数(事件、元素){
$('hidden_field_id')。value=element.value;
var form=element.up('form');
新的Ajax.Request('/searches/search_set?stype=1',{asynchronous:true,evalscript:true,parameters:Form.serialize(Form)});返回false;
事件。停止(事件);
}
};
document.observe('dom:loaded',函数(事件){
$(“搜索条件\文章\标签\ 0”)。在(“单击”,搜索。发送);
});
这就是您要查找的吗?是
。onsubmit()
不是有效的jQuery函数。。。使用.submit()
我使用的是prototype,而不是jquery,或者更确切地说,虽然我同时使用这两种语言,但对于这个特定的函数,它的原型jqery是用$j调用的,而不是$markupPrototype中似乎有一个零散的
。submit()。我认为正确的方法是Event.observe()
-不知道是否有任何速记。我忘了说你可以用它来捕捉提交事件:$$('ui-icon-search').first().observe(“提交”,函数(事件){//Event.target===>a.ui-icon-search});