javascript
2009-12-20 140 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... 
}); 
相关问题