簡體   English   中英

如何在另一個JavaScript腳本中使用JavaScript變量?

[英]How to use javascript variable within another javascript script?

因此,在代碼的較早部分中,我在標記內將變量charge的值設置為其他鏈接。

我如何在以后的javascript中使用此變量的值,因為'url:charge'不起作用。 我是否需要以其他方式編寫變量。

“網址:chargesilver.php”有效,但“網址:charge”無效。

<script>

function setmembershipayment(){
    if (usermembershipchoice == "Silver") {
        var charge = "chargesilver.php";
        alert(charge);
    } else if (usermembershipchoice == "Gold") {
        var charge = "chargegold.php";
        alert(charge);
    } else if (usermembershipchoice == "Platinum") {
        var charge = "chargeplatinum.php";
        alert(charge);
    } else { 
       alert("ERROR");
    } // THE MISSED BRACKED!! ;)
}
</script>

<script>
    $.ajax({
                  type: "POST",
                  url: charge,
                  data: form.serialize(),
                  success: function(response){
 </script>

收費不是全球性的。

它的范圍在功能范圍內

在功能之外聲明

var charge = ''

function setmembershipayment(){
    ....

樣品

<script>

var charge = ''

function setmembershipayment(){
  if (usermembershipchoice == "Silver") {
    charge = "chargesilver.php";
    alert(charge);
  } else if (usermembershipchoice == "Gold") {
    charge = "chargegold.php";
    alert(charge);
  } else if (usermembershipchoice == "Platinum") {
    charge = "chargeplatinum.php";
    alert(charge);
  } else { 
   alert("ERROR");
 } // THE MISSED BRACKED!! ;)
}

 setmembershipayment()

 $.ajax({
     type: "POST",
     url: charge, // OR Just return it from the function here and make sure there is a default value
     data: form.serialize(),
     success: function(response){
</script>

或只需從函數返回它,並確保有一個默認值

最簡單的方法是使函數返回要使用的費用。

function getMembershipPayment(){
    if (usermembershipchoice == "Silver") {
        return "chargesilver.php";
    } else if (usermembershipchoice == "Gold") {
        return "chargegold.php";
    } else if (usermembershipchoice == "Platinum") {
        return "chargeplatinum.php";
    } else { 
       alert("ERROR");
       return "some default value"
    } // THE MISSED BRACKED!! ;)
}

$.ajax({
  type: "POST",
  url: getMembershipPayment() // returns the value of charge,
  data: form.serialize(),
  success: function(response){}
})

也許從url調用函數以返回正確的字符串值。 也許使用switch代替if / else結構,因為它更容易閱讀。

function setmembershipayment(usermembershipchoice) {
  switch (usermembershipchoice) {  
    case 'Silver': return "chargesilver.php";
    case 'Gold': return "chargegold.php";
    case 'Platinum': return "chargeplatinum.php";
    default: console.log('error'); break;
  }
}

$.ajax({
  type: "POST",
  url: setmembershipayment(usermembershipchoice),
  data: form.serialize(),
  success: function(response) {
    ...
  }
});

暫無
暫無

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

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