将2个值传递给javascript函数

ami*_*mit 9 javascript

我试图将2个值传递给javascript xmlHttp请求; 这些值被传递给javascript函数.我成功地将单个值传递给javscript函数,但现在我需要传递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>";
Run Code Online (Sandbox Code Playgroud)

一个是int,另一个是字符串

在JavaScript中,我不知道如何接收这些值.早些时候我曾经:

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

对于单个值.但现在因为要处理2个值,我不知道如何为它编写函数; 我目前(不成功)尝试这个:

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

请告诉我怎么做?

Rol*_*man 16

如果我理解正确,你的问题很简单:javascript函数如何接收多个参数?

这很简单,只需在函数声明中用逗号分隔它们,并传递多个值,在函数调用中再次用逗号分隔:

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

myFunc(1,2);
Run Code Online (Sandbox Code Playgroud)

如果您事先不知道要传递/接收多少个参数,只需声明不带参数的函数,并使用函数定义中的内置参数数组:

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

如果您需要传递一个全部相等的值列表,那么上面的方法很好,但是当您必须处理多个参数并且其中一些是可选的时,更好的方法是传递一个对象文字,并添加'参数'作为属性:

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

myFunc({
    arg1: "one"
,   arg2: "two"
,   ...more properties...
});
Run Code Online (Sandbox Code Playgroud)


Yul*_*liy 8

您可能希望将标题括在引号中.假设你有aid 123行和标题Hello World.你想拥有onclick="getVote(123,'Hello World')"