javascript
2009-12-20 188 views 8 likes 
8

我試圖將2個值傳遞給javascript xmlHttp請求;值正在傳遞給javascript函數。我成功地將單個值傳遞給javscript函數,但現在我需要傳遞2個值。大膽的值是我想要在JavaScript中的字符串名稱。將2個值傳遞給javascript函數

echo "<a href='#' class='thumb'><img class='thumb-img' value = ".$row->aid." onclick='getVote(".$row->aid.", **".$row->atitle."**)' src='images/roadies/th".$row->aid.".jpg' /> </a>"; 

一個是INT,另一個是

在JavaScript

,我不知道如何接受這些值。早些時候我曾經使用過:

function getVote(int) 
{ 
    xmlhttp=GetXmlHttpObject(); 
    if (xmlhttp==null) 
    { 
     alert ("Browser does not support HTTP Request"); 
     return; 
    } 
    value = int; 

爲單個值。但現在因爲有2個值要處理,我不知道如何編寫它的功能; 我目前(不成功)嘗試這樣的:

function getVote(int, name) 
{ 
    xmlhttp=GetXmlHttpObject(); 
    if (xmlhttp==null) 
    { 
     alert ("Browser does not support HTTP Request"); 
     return; 
    } 
    value = int; 
    name= char; 

請告訴我該怎麼辦呢?

+0

不,我不想將它發送到服務器。我只需要它在JavaScript文件中。發佈更新。 – amit

回答

8

您可能想要用引號括起標題。假設您已經連續使用aid ,並且標題爲Hello World。你想要onclick="getVote(123,'Hello World')"

+0

我剛剛在daniweb上讀到同樣的內容。非常感謝。 stackoverflow是一個很好的資源。 – amit

1

在JavaScript中,您無需在參數列表中聲明變量類型。所以,你的函數是:

function getVote(myInt, name) { 

確認,不過,發送你的價值到服務器時,使用myInt.toString()而不只是myInt,因爲你name一樣。

1
function getVote(int, name) 
{ 
    xmlhttp=GetXmlHttpObject(); 
    if (xmlhttp==null) 
    { 
     alert ("Browser does not support HTTP Request"); 
     return; 
    } 
    alert(int); 
    alert(name); 
} 

這些變量都已經在函數中定義好了,只要您將它們作爲參數來定義。
我的代碼會提醒他們,告訴他們他們已定義

14

如果我理解正確,你的問題很簡單:javascript函數如何接收多個參數?

這很容易,只要用逗號在函數聲明它們分開,並通過多個值,以逗號函數調用再次分離:提前

function myFunc(one, two) { 
    alert(one); alert(two); 
} 

myFunc(1,2); 

如果你不知道有多少參數傳遞/接收,只是聲明沒有參數的函數,並使用函數定義內部內置參數數組:

function myFunc(){ 
    for (var i=0, numArgs = arguments.length; i<numArgs; i++){ 
     alert(arguments[i]); 
    } 
} 

上面的方法是好的,如果你需要傳遞的所有值的列表相等,但是當你必須處理multipl e參數和其中一些是可選的,更好的方法是傳遞一個對象文字,並添加'參數'作爲屬性:

function myFunc(obj){ 
    if (typeof(obj.arg1)!="undefined") { 
     .... 
    } 
    if (typeof(obj.arg2)!="undefined") { 
     .... 
    } 
    ...more handling... 
} 

myFunc({ 
    arg1: "one" 
, arg2: "two" 
, ...more properties... 
}); 
相關問題