私は自分がやろうとしていたことに少し立ち往生しています。
私が持っているjavascriptメソッドを使用するために複数のフォーム(6つ)を取得しようとしています。これらのフォームにはテキスト入力値があり、チェックしてからphpファイルに渡す必要があります。その後、AJAXを使用して確認またはエラーでページを更新します。
この例では、2つのフォームのみを使用します。これらは、私のフォームです。
<div class="trade_info_1">
            <h2>Market #1</h2>
            <form action="" method="POST">
                <ul>
                    <li>
                        <label for="market_1">Market: </label><input type="text" name="market_1" id="market_1" />
                    </li>
                    <li>
                        <button type="button" name="button1" id="button1" onclick="check_update_selection()">Update Market!</button>
                    </li>
                </ul>
                <input type="hidden" name="market_number" id="market_number" value="1" />
                <div id="market_1_output">output</div>
            </form>
        </div>
        <div class="trade_info_2">
            <h2>Market #2</h2>
            <form action="" method="POST">
                <ul>
                    <li>
                        <label for="market_2">Market: </label><input type="text" name="market_2" id="market_2" />
                    </li>
                    <li>
                        <button type="button" name="button2" id="button2" onclick="check_update_selection()">Update Market!</button>
                    </li>
                </ul>
                <input type="hidden" name="market_number" id="market_number" value="2" />
                <div id="market_2_output">output</div>
            </form>
        </div>
今、AJAXがページを更新する場所です。これは私がすでに持っている方法です(JS)
function check_update_selection() 
 {
if (window.XMLHttpRequest) 
{
    xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject) 
{
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
console.log('Market value: ' + document.getElementById('market_number').value);
if(document.getElementById('market_number').value == 1)
{
    var market = document.getElementById('market_1').value;;
    var market_number = 1;
    var html_element = 'market_1';
}
else if(document.getElementById('market_number').value == 2)
{
    var market = document.getElementById('market_1').value;
    var market_number = 2;
    var html_element = 'market_2';
}
xhr.open('POST', 'update_market.php');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
var obj = {market: market};
xhr.send("data=" + JSON.stringify(obj));
xhr.onreadystatechange=function() 
{
    if (xhr.readyState==4) 
    {
        if(market_number == 1)
        {
            document.getElementById("market_1_output").innerHTML = xhr.responseText;
        }
        else if(market_number == 2)
        {
            document.getElementById("market_2_output").innerHTML = xhr.responseText;
        }
    }
}
「TEST」という単語をエコーするので、phpは含めません。
最初のフォームは完全に機能しますが、2番目のフォームは機能せず、最初のフォームが更新されているようです。だから私はconsole.log();を使用しました。そして、2番目のフォームを送信するたびに、最初のフォームのフィールドを送信しているように見えることがわかりました。
私はこれについて正しい方向に進んでいますか、それとも私が欠けているものがありますか?
また、私は話しているときにjavascriptを学んでいるので、プラットフォームに関する私の知識は最高ではないので、私が犯した間違いを指摘してください。
御時間ありがとうございます。