繁体   English   中英

在另一页上进行javascript函数/按钮单击事件调用

[英]making a javascript function/button click event call on another page

我需要调用像showfilterresult()这样的javascript函数(包含一个jquery.ajax()调用)。 该调用在诸如“过滤器”之类的按钮的页面monitor.gsp onclick上调用。

我正在从另一个页面进行调用,我需要做的是加载montoring.gsp页面,并在加载的页面上进行showfilterresult()调用。 (因此我想进行两次调用,一个调用到页面,另一个调用到页面上的函数)

现在我正在这样做:

 <javascript>
jQuery.ajax({
     var myurl = /myapp/users/monitoring
        url: myurl,
        dataType: 'html',
        timeout: 10000,
        beforeSend: function() {
             jQuery('#mydiv').html(../showspinner.gif)
          },
        success: function(data) {
        window.location = myurl;
        }
      });

</javascript>

showfilterresult()函数如下:

function showFilterResult(){
    var frm=jQuery('#fromDate').val();
    var to=jQuery('#toDate').val();
    if($('#fromDate').val().length>0  && $('#toDate').val().length>0){
            jQuery.ajax({
                type:'POST',
                data:{
                    'timeWindow':$("#timeWindow").val(),
                    'p1':p1,
                    'p3':$('#p3 option:selected').text(),
                    'fromDate':$("#fromDate").val(),
                    'toDate':$("#toDate").val(),
                },
                url: '/myapp/users/filterResult',
                beforeSend: function() {
                    jQuery("#filteredResult").html('/showspinner.gif')
                },
                success:function(data,textStatus){
                    jQuery("#filteredResult").html(data)
                }
            });

我还需要知道如何将url参数传递给我的页面的showfilterresult()调用,默认情况下,该函数从Monitoring.gsp页面上的文本字段中获取值。

更新:这类似于:我有我的个人网页,我需要调用另一个网页,例如google.com,还需要传递一些参数,并使用这些参数调用google.com上的“搜索”调用,因此一旦单击链接/ button我的网页,它不仅可以转发到google.com,还可以通过传递的参数调用搜索事件,并且我可以直接看到google搜索结果页面。

问候,普里扬克

不要使用本机jQuery.ajax函数。 在grails中,您有一个jquery插件。

  1. 使用grails install-plugin jquery安装此插件。

  2. 使用<g:javascript library="jquery" />将jQuery文件导入到您的html中

  3. 将您的第一个AJAX函数替换为:

     <g:remoteFunction controller="user" action="monitoring" before="$('#mydiv').html('../showspinner.gif')" onComplete="window.location = ${createLink( controller: 'user', action: 'monitoring')}" /> 
  4. 将您的第二个AJAX函数替换为:

     <g:remoteFunction controller="user" action="filterResult" params="$('#yourFormId').serialize()" before="$('#filteredResult').html('/showspinner.gif')" update="filteredResult" /> 

也许您需要检查参数设置是否正确。 无论如何,您都可以通过使用params标记来提供参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM