2017-10-15 11 views
0

私はAjaxにはまったく新しいものなので、質問のためにラジオボタンの値を配列の中にどのように格納できるのか不思議でした。 "答え"、 "テストケース"があります。 PHPスクリプトを使って情報を送信する必要があります。そのため、データを保存したかったのです。どんな助けでも感謝します、ありがとう。配列内にラジオボタンの値を格納するにはどうすればいいですか?

<div id="container"> 
    <form> 

    <div> 
     <input type='text' id='Question' class="form-control" placeholder="Question" /> 
     <input type='text' id='Answer' class="form-control" placeholder="Answer" /> 
     <input type='text' id='Testcases' class="form-control" placeholder="Testcases" /> 

     <p style="margin-left:150px;"> 
     <label>Difficulty level:</label> 
     <input type="radio" name="A" id='E' value="Easy" checked="checked" /> 
     <label for='E'>Easy</label> 
     <input type="radio" name="A" id='M' value="Medium" /> 
     <label for='M'>Medium</label> 
     <input type="radio" name="A" id='H' value="Hard" /> 
     <label for='H'>Hard</label> 
     </p> 
    </div> 
    <input type='button' class='lg-button' onclick='send()' value='Submit' /> 

    </form> 
</div> 

<script> 
    function send() { 
    var question = document.getElementById('Question').value; 
    var answers = document.getElementById('Answer').value; 
    var cases = document.getElementById('Testcases').value; 

    var ch = document.getElementsByName('A').value; 

    var data = { 
     'Question': question, 
     'Answer': answers, 
     'Testcases': cases, 
     'A': ch 
    }; 

    var hr = new XMLHttpRequest(); 
    hr.onreadystatechange = function() { 
     if (hr.readyState === 4) { 
     document.getElementById('send').innerHTML = hr.responseText; 
     } 
    }; 


    hr.open("POST", "URL", true); 

    hr.send(JSON.stringify(data)); 

    //alert(JSON.stringify(data)); 
    } 

</script> 
+0

を参照してください - [?私は非同期呼び出しからの応答を返すにはどうすればよい](https://stackoverflow.com/questions/14220321 /私は非同期呼び出しからの返答を返す) – shawon191

答えて

0
以下

作業コードがあり、

function send() { 
 

 
    const question = document.getElementById('Question').value; 
 
    const answers = document.getElementById('Answer').value; 
 
    const testCases = document.getElementById('Testcases').value; 
 

 
    const level = document.querySelector('[name="A"]:checked').value; 
 

 
    const data = { 
 
    'Question': question || '', 
 
    'Answer': answers || '', 
 
    'Testcases': testCases || '', 
 
    'A': level 
 
    }; 
 

 
    console.log(data); 
 

 
    const xhr = new XMLHttpRequest(); 
 
    xhr.onreadystatechange = function() { 
 
    if (xhr.readyState === 4) { 
 
     document.getElementById('response').innerHTML = xhr.responseText; 
 
    } 
 
    }; 
 

 
    xhr.open("POST", "URL", true); 
 
    xhr.send(JSON.stringify(data)); 
 
}
<div id="container"> 
 

 
    <input type='text' id='Question' class="form-control" placeholder="Question" /> 
 
    <input type='text' id='Answer' class="form-control" placeholder="Answer" /> 
 
    <input type='text' id='Testcases' class="form-control" placeholder="Testcases" /> 
 

 
    <p style="margin-left:150px;"> 
 
     <label>Difficulty level:</label> 
 

 
     <input type="radio" name="A" id='E' value="Easy" checked="checked" /> 
 
     <label for='E'>Easy</label> 
 

 
     <input type="radio" name="A" id='M' value="Medium" /> 
 
     <label for='M'>Medium</label> 
 

 
     <input type="radio" name="A" id='H' value="Hard" /> 
 
     <label for='H'>Hard</label> 
 
    </p> 
 

 
    <input type='button' class='lg-button' onclick='send()' value='Submit' /> 
 

 
    <p id="response"></p> 
 
</div>

関連する問題