发送javascript函数参数onChange

时间:2012-05-31 00:52:50

标签: javascript ajax

好的,我几个小时以来一直在努力。我正在使用ajax用PHP代码更新我网站中的div但是,我正在尝试从外部javascript文件中发送函数中的参数来更新正确的链接(有多个下拉框)

例如:这是我的选择框

<script type='text/javascript' src='ajax.js'></script>//include ajax file
<select onchange='MakeRequest(raceupdate);
        this.options[this.selectedIndex].value;'> //so no use of a button is needed to auto link to anchor tag
        <option>Deathmateched</option>
    <?php
        dmList()
        ?>

 </select>

接下来是我的外部ajax函数MakeRequest()。

function MakeRequest(value)
{
    var linkInfo = "teleport.php?call=" + value;//create appropriate link depending on function parameters  
    var xmlHttp = getXMLHttp();

    xmlHttp.onreadystatechange = function()
    {
        if(xmlHttp.readyState == 4)
        {
            HandleResponse(xmlHttp.responseText);
        }
    }     

    xmlHttp.open("GET", linkInfo, true); //update page using link info variable created above
    xmlHttp.send(null);

}

所以你可以看到我正试图将一个文本传给这个函数,但我似乎在某个地方失败了。

1 个答案:

答案 0 :(得分:1)

您可能希望设置标记以通过&#34;此&#34;。我不知道你的raceupdate变量在哪里声明,除非它是全局变量......在这种情况下你应该告诉我们你对这个变量做了什么。

<select onchange='MakeRequest(this);'> 
    <option>Deathmateched</option>
    <?php
        dmList();
    ?>

如果你这样做,你必须改变这个功能:

    function MakeRequest(element)
    {
    var linkInfo = "teleport.php?call=" + element.value;//create appropriate link depending on function parameters  
    var xmlHttp = getXMLHttp();

    xmlHttp.onreadystatechange = function()
    {
        if(xmlHttp.readyState == 4)
        {
            HandleResponse(xmlHttp.responseText);
        }
    }     

    xmlHttp.open("GET", linkInfo, true); //update page using link info variable created above
    xmlHttp.send(null);

}

你想在这做什么?

this.options[this.selectedIndex].value;

在您的评论中,您似乎想要跳转到锚标记?如果是这样,那么你会想做类似

的事情
var anchorTag = document.getElementID("YOUR_ANCHOR_TAG_ID");
anchorTag.focus();