[英]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.