2017-10-25 20 views
0

私はgetHTML()関数をデータを解析する別の関数で使用し、そのデータをHTML文字列として表示します。ユーザーがフォームの記入を完了すると、その情報をユーザー名とexamidと共に送信したいと思います。ユーザー名と試験所もバックエンドのdata[0].usernamedata[1].examidから来ています。これらの2つの属性をグローバル変数にして、それらを送信関数で使用できるようにするにはどうしたらいいですか?JavaScript変数をグローバル変数にする

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}); 
     } 

答えて

0

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

複数の場合を格納しようとしているかもしれませんが、その場合は配列が必要です。

グローバルスコープで使用する場合は、window要素を使用します。

1

彼らはグローバル

var username; 
var examid; 

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

になるように、コードがあなた

(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>

助けるかもしれない、次の試してみてください任意の関数のうち、あなたの変数を定義
関連する問題