DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JavaScript調用傳遞變量參數的相關問題及解決辦法
JavaScript調用傳遞變量參數的相關問題及解決辦法
編輯:關於JavaScript     

舉例

有一個js方法,接收參數:

復制代碼 代碼如下:
function f1(myValue){ alert(myValue); }

有一個變量:

復制代碼 代碼如下:
var passValue="Hello World";

在調用這個方法的時候(我是出現在Ajax提交的時候):

@Ajax.ActionLink("文本","控制器",new{參數},new AjaxOptions(){ HttpMethod="post",OnSuccess="f1(PassValue)" })

這裡注意最後的OnSuccess,如果直接把變量丟進去,會把變量認為是一個字符串

如果改成OnSuccess="f1("+PassValue+")"也不行

搜了一下是需要轉義字符

OnSuccess="f1('"+PassValue+"')"

這樣就沒問題了

不過上面調用Ajax的時候沒注意,這裡只是為了給異步調用方法f1()傳參數

所以就不用@Ajax了 改成普通A標簽就可以了 不然會調用兩次控制器

ps:js將方法作為參數調用

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title>js調用</title>  
  <script src="cssjs/jquery.js" type="text/javascript"></script>
  <script type="text/javascript">
    $().ready(function () {
      $.dialog = function (settings) {
        if ($.isFunction(settings.okCallback)) {
          if (settings.height == null) {
            if (settings.okCallback.apply() != false) {
              alert("1");
            }
          } else {
            
            if (settings.okCallback.call(this, settings.height) != false) {
              alert("2");
            }
            
            /*
            if (settings.okCallback.apply(this, arguments) != false) {
              alert("2");
            }
            */
          }
        }
      }
    });    
  </script>
  <script type="text/javascript">
    $(function () {
      $.dialog({
        okCallback: print,
        height: {data:"你好"}
      });
    });
  function print(ee1) {
    alert("print(ee1)");
    
    alert(ee1.data);
    
    /*
    alert(ee1.height.data);
    */
  /*
  function print(a, b, c, d) {
  alert(a + b + c + d);
  }
  function example(a, b, c, d) {
  //用call方式借用print,參數顯式打散傳遞
  print.call(this, a, b, c, d);
  //用apply方式借用print, 參數作為一個數組傳遞,
  //這裡直接用JavaScript方法內本身有的arguments數組
  print.apply(this, arguments);
  //或者封裝成數組
  print.apply(this, [a, b, c, d]);
  }
  //下面將顯示"背光腳本"
  example("背", "光", "腳", "本"); 
  */
  </script>
</head>
<body> 
</body>
</html>
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved