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

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

本文关键字:按钮 调用 事件 函数 javascript 另一个      更新时间:2023-09-26

我需要调用一个javascript函数(包含一个jquery.ajax((调用(,比如showfilterresult((。这个调用是在页面monitoring.gsp单击类似"filter"的按钮时调用的。

我正在进行的调用来自不同的页面,我需要做的是加载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上的"搜索"调用,所以一旦我点击链接/按钮我的网页,它不仅会转发到google.com,还会用我传递的参数调用搜索事件,我直接看到谷歌搜索结果页面。

谨致问候,Priyank

不要使用本机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标签在第一种情况下提供参数。