簡體   English   中英

將變量傳遞給 JavaScript function

[英]Passing variables to a JavaScript function

我有以下 function

<script type="text/javascript"> 
function showUser(test, order) 
{ 
const but = document.getElementById(test);
if(but.getAttribute("onClick") === `showUser('${test}','DESC')`)
{
    but.setAttribute("onClick",`showUser('${test}','ASC')`);
}
else
{
    but.setAttribute("onClick",`showUser('${test}','DESC')`);
}

var users = document.getElementById('instructor-filter').value;
var club = document.getElementById('club-filter').value
var sort = test;
var order = order;

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
}    

xmlhttp.open("GET","ajaxcall.php?student_instructor="+users+"&club="+club+"&sortby="+sort+"&orderby="+order,true);
xmlhttp.send();

}

我在我的代碼的兩個地方調用這個 function 就像這樣

<select id="instructor-filter" onChange="showUser()">

<div class="col-sm-2"><a id="student_forename" onClick="showUser('student_forename','ASC')">Forename</a></div>

一個調用不需要將任何變量傳遞給 function,另一個調用確實需要將兩個變量傳遞給它。

這導致了我調用的一個不傳遞任何變量的問題不再起作用,而另一個則起作用。

因為我在 function 中設置了兩個變量,這是否意味着每次使用 function 時我都必須提供兩個值?

當您不傳遞任何值時,默認情況下它將被視為未定義。 您可能需要在 function 中設置一些默認值才能使變量正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM