Heim  >  Fragen und Antworten  >  Hauptteil

Wie füge ich in MySQL zwei Felder mit demselben Namen, aber unterschiedlichen IDs in derselben Zeile zusammen?

Ich habe ein Projekt, bei dem der Kunde anhand einer Checkbox einen Preis auswählen kann und das Eingabefeld den gleichen Namen hat, Wenn ich das Kontrollkästchen anwähle, aber keine Eingabe habe, möchte ich nur den Wert des Kontrollkästchens in der Datenbank speichern. Wenn ich das Eingabefeld anwähle, möchte ich nur den Wert des Eingabefelds speichern. Das ist mein Code:

<ul class="donate-now">[enter image description here](https://i.stack.imgur.com/EyU7O.png)
                  <li>
                    <input type="radio" class="form-control btn-default target" id="a100" name="amount" value="100"/>
                    <label for="a25">100€/mois</label>
                  </li>
                  <li>
                    <input type="radio" class="form-control btn-default target" id="a200" name="amount" value="200" />
                    <label for="a50">200€/mois</label>
                  </li>
                  <li>
                    <input type="radio" class="form-control btn-default target" id="a300" name="amount" value="300" checked/>
                    <label for="a75">300€/mois</label>
                  </li>
                 
                </ul>
                </div>
              
            
                
                <div class="container form-control-lg" id="montant-libre">
                  <span class="input-symbol-euro"><input type="text" class="form-control form-control-md" style="color: #d34607;" id="montantlibre" onclick="clearRadio()"  placeholder="Montant libre" name="amount" min="1"/></span>
                  
                </div>

Muss ich einige Änderungen an meinem MySQL vornehmen, da ich ständig Fehler erhalte?

P粉087951442P粉087951442178 Tage vor299

Antworte allen(1)Ich werde antworten

  • P粉419164700

    P粉4191647002024-04-05 10:51:24

    <form id="donate">
       <ul class="donate-now">
          <li>
             <input type="radio" class="form-control btn-default target" id="a100" name="amount" value="100"/>
             <label for="a25">100€/mois</label>
          </li>
          <li>
             <input type="radio" class="form-control btn-default target" id="a200" name="amount" value="200" />
             <label for="a50">200€/mois</label>
          </li>
          <li>
             <input type="radio" class="form-control btn-default target" id="a300" name="amount" value="300" checked/>
             <label for="a75">300€/mois</label>
          </li>
       </ul>
       <div class="container form-control-lg" id="montant-libre">
          <span class="input-symbol-euro">
          <input type="text" class="form-control form-control-md" style="color: #d34607;" id="montantlibre" onclick="clearRadio()"  placeholder="Montant libre" name="amount" min="1"/>
          </span>
       </div>
    </form>
    <script>
       // 获取表单元素
       var form = document.getElementById("donate");
       if (form) {
       // 为表单添加提交事件监听器
       form.addEventListener("submit", function(event) {
         // 获取选中的单选按钮
         var selectedRadio = document.querySelector('input[name="amount"]:checked');
       
         // 获取输入字段
         var inputField = document.getElementById("montantlibre");
         var amount = selectedRadio.value;
         // 检查输入字段是否有值
         if (!Number(inputField.value) !== true) {
           // 新值
            amount = inputField.value;
         }
       
         console.log(amount);
         // 阻止默认的表单提交
         event.preventDefault();
       });
       }
    </script>
    
    

    详情:

    1-使用document.getElementById("donate")获取表单元素。

    2-使用form.addEventListener("submit", function(event) { ... });为表单添加提交事件监听器。

    3-在事件监听器函数内部,使用document.querySelector('input[name="amount"]:checked')获取选中的单选按钮。

    4-使用document.getElementById("montantlibre")获取输入字段。

    5-使用if (!Number(inputField.value) !== true) { ... }检查输入字段是否有值。

    6-如果输入字段有值,则将该值存储在amount变量中。否则,将选中的单选按钮的值存储在amount变量中。

    7-使用event.preventDefault()阻止默认的表单提交。

    Antwort
    0
  • StornierenAntwort