我需要使用js或ajax将.gsp页面中输入的数据发送到控制器。我在gsp页面中的代码是
<input placeholder="<g:message code="form.search.label"/>" id="q" name="q" type="text" onkeypress=validar(event);>
<button class="button"><span class="mif-search"></span></button>
js功能是:
<script type="text/javascript">
function validar(event){
var theCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
var message = $('#q').val();
if (theCode == 13){
<g:remoteFunction controller="search" action="search" params="message" update="pageid"/>
}
}
这段代码工作正常,我刷新了我的页面,但我需要将输入文本中的数据发送到我的控制器。我在网上冲浪,但我无法解决这个问题。我需要做什么呢?提前谢谢。
答案 0 :(得分:0)
我强烈建议您使用jQuery.ajax();
代替g:remoteFunction
,因为在一天结束时。它将g:remoteFuncion
呈现给jQuery.ajax();
。例如,你有这个:
<g:remoteFunction controller="search" action="search" params="message" update="pageid"/>
这将是:
jQuery.ajax({type:'POST', url:'/YOURGRAILSAPPNAME/search/search',success:function(data,textStatus){jQuery('#pageid').html(data);},error:function(XMLHttpRequest,textStatus,errorThrown){}});
您可以测试在网页中查找HTML。
但是如果你真的想使用g:remoteFunction
。你可以用这个
var message = $('#q').val();
if (theCode == 13)
<g:remoteFunction controller="search" action="search" params="'message='+message" update="pageid"/>