2017-10-25 3 views
0

Ich benutze meine getHTML() Funktion in einer anderen Funktion, die durch Daten analysiert, und ich zeige die Daten als HTML-Zeichenfolge. Wenn der Benutzer das Formular ausgefüllt hat, möchte ich diese Informationen zusammen mit dem Benutzernamen und der Prüfung senden. Der Benutzername und die Prüfziffer kommen auch vom Backend an der Position data[0].username und data[1].examid Wie kann ich diese beiden Attribute in globale Variablen machen, damit ich sie in meiner Sendefunktion verwenden kann?Javascript-Variablen in globale Variablen machen

function getHTML(data){ 
    var htmlString = ""; 
     for(var i=0; i < data.length; i++){ 
      htmlString += "<p>" 
          + data[i].questionid + "." + "\n" 
          + "Question: " + data[i].question 
          + "\n" + "<input type='text' value1='" 
          +data[i].username+ " value2='" +data[i].examid+ "'>";     
      htmlString += '</p>'; 
     } 
     response.insertAdjacentHTML('beforeend', htmlString); 
    } 

    function send(){ 
      var inputText = document.querySelectorAll("input[type='text']"); 

      var data = []; 
      for(var index = 0; index < inputText.length; index++){ 

       input = inputText[index].value; 
       data.push({'text' : input}); 
      } 
      data.push({'username' : username, 'examid' : examid}); 
     } 

Antwort

0

window.username = data[i].username; und window.examid = data[i].examid.

Obwohl Sie möglicherweise versuchen, mehr als eine zu speichern, in welchem ​​Fall Sie ein Array möchten.

Sie möchten das Element window verwenden, wenn Sie es im globalen Gültigkeitsbereich haben möchten.

1

Definieren Sie Ihre Variable aus einer Funktion, so würden sie

var username; 
var examid; 

function(){...} 
function(){...} 
0

global sein Versuchen Sie folgenden Code könnte Ihnen helfen,

(function() { 
 
    var x = document.getElementById("Node").value; 
 
    document.getElementById("Node").onchange = function() { 
 
     myNode() 
 
    }; 
 
    document.getElementById("mySelect1").onchange = function() { 
 
     myNotes() 
 
    }; 
 
    document.getElementById("mySelect2").onclick = function() { 
 
     summary() 
 
    }; 
 

 
    function myNode() { 
 
     x = document.getElementById("Node").value; 
 
    } 
 

 
    function summary() { 
 
     var a = document.getElementById("mySelect1").value; 
 
     var b = document.getElementById("mySelect2").value; 
 
     document.getElementById("5").value = a + " - " + b + " - " + x; 
 
    } 
 

 
    function myNotes() { 
 

 
     var a = document.getElementById("mySelect1").value; 
 
     var b = document.getElementById("mySelect2").value; 
 
     document.getElementById("4").value = a + " + " + b + " + " + x; 
 
    } 
 

 

 
    } 
 

 

 

 

 

 
)();
Notes : <input type="text" id="4" /><br> Summary : <input type="text" id="5" /><br> 
 
<select id="Node"> 
 
     <option value="w">w 
 
     <option value="x">x 
 
     <option value="y">y 
 
     <option value="z">z 
 
    </select> 
 
<select id="mySelect2"> 
 
     <option value="a">a 
 
     <option value="b">b 
 
     <option value="c">c 
 
     <option value="d">d 
 
    </select> 
 
<select id="mySelect1"> 
 
     <option value="1">1 
 
     <option value="2">2 
 
     <option value="3">3 
 
     <option value="4">4 
 
    </select>