1

jsscriptfile cssfile 選択ボックス名 icolorDEVICE からの値の送信に問題があります。これは、上記の選択に基づいて表示される第 3 レベルのブロック要素です。GB チェックボックスは値を渡しますが、何らかの理由で選択はしません。1 番目と 2 番目のレベルの選択ボックスは値を渡します。

function deviceshow(element){
    //document.getElementById("nothing").style.display = element =="nothing"?"block":"none";
    document.getElementById("nanodevice").style.display = element =="nanodevice"?"block":"none";
    document.getElementById("iPodclassicdevice").style.display = element =="iPodclassicdevice"?"block":"none";
    document.getElementById("iTouchdevice").style.display = element =="iTouchdevice"?"block":"none";
    document.getElementById("iPhonedevice").style.display = element =="iPhonedevice"?"block":"none";                    
    document.getElementById("iPaddevice").style.display = element =="iPaddevice"?"block":"none";

};

このコードはうまく機能しています。フォームは www.moneygrowsonappletrees.com でオンラインで公開されています。var_dump($_POST); を挿入しました。私のphpで、どの値がフォームで送信されているかを確認してください。これが配列に返されるものです。to icolorDEVICE 名に注意してください。フォームでは Black に設定されていました。

 array(0) { } array(22) { ["device"]=> string(10) "nanodevice" ["nanoIpod"]=> string(5) "nano1" ["GB"]=> string(1) "4" ["icolorDEVICE"]=> string(0) "" ["USBcable"]=> string(3) "YES" ["iPodclassic"]=> string(0) "" ["itouch"]=> string(0) "" ["iphoneversion"]=> string(8) "iphone4S" ["carrierDEVICE"]=> string(0) "" ["WritenDoc"]=> string(3) "YES" ["iPad"]=> string(0) "" ["first_name"]=> string(7) "Anthony" ["lastname"]=> string(5) "Dolan" ["email"]=> string(17) "anthony@ymail.com" ["phone"]=> string(12) "978-985-6598" ["Address1"]=> string(10) "89 Sorento" ["Address2"]=> string(4) "time" ["City"]=> string(9) "worcester" ["State"]=> string(2) "ME" ["Zip"]=> string(5) "01602" ["DeviceCondition"]=> string(5) "Hello" ["Submit"]=> string(6) "Submit" } 

ナノカラーは黒にしました。何も渡されませんでした。セレクトボックスに固有の名前を付けようとしましたが、同じ結果が得られました。

<legend>Please select your device?</legend>
<label for="devicetype" class="textInput">Device:</label>
<select onchange="deviceshow(this.value);" name="device">
  <option value="" selected="selected"></option>
  <option value="nanodevice">iPod nano</option>
  <option value="iPodclassicdevice">iPod classic</option>
  <option value="iTouchdevice">iPod touch</option>
  <option value="iPhonedevice">iPhone</option>
  <option value="iPaddevice">iPad</option>
</select>

これは、Nano のバージョンを選択できる 2 番目のレベルです。次に、そのバージョンに付属していたすべてのオプションを取得します。空間、ヘッドフォン、色など。チェック ボックスはすべての値を渡します。選択ボックスは、このレベルでは値を渡しません。面白いことに、このレベルでもコードをコメントアウトすることはできません。css、クラス属性の階層に関係しているように感じます。PHP issetで送信する前にフォームをチェックするかどうか疑問に思っていましたが、それを行う方法と選択ボックスから値を渡す方法がわかりません。

    <label for="nano" class="textInput">iPod nano:</label>
        <select onchange="nanoshow(this.value);" name="nanoIpod">
          <option value=""></option>
            <option value="nano1">iPod nano</option>
            <option value="nano2">iPod nano 2nd generation</option>
            <option value="nano3">iPod nano 3rd generation</option>
            <option value="nano4">iPod nano 4th generation</option>
            <option value="nano5">iPod nano 5th generation</option>
            <option value="nano6">iPod nano 6th generation</option>
        </select>

これは、フォームで選択ボックスの値を許可または渡すことができない 3 番目のレベルです。チェックボックスが送信されます。助けてください。この脳停止の問題を調査していただきありがとうございます。

  <!--select nano1-->       
    <div id="nano1" style="display:none;">
            <p> 

        <input name="GB" type="checkbox" id="GB1" value="1" />
            <label for="GB1" class="check">1GB</label>
        <input name="GB" type="checkbox" id="GB2" value="2" />
            <label for="GB2" class="check">2GB</label>
        <input name="GB" type="checkbox" id="GB4" value="4" />
            <label for="GB4" class="check">4GB</label>
        <p>
            <label for="DeviceColor" class="textInput">Color:</label>
        <select name="icolorDEVICE">
            <option value=""></option>
            <option value="Black">Black</option>
            <option value="White">White</option>
        </select>
        <p>
        <input name="Earphones" type="checkbox" id="Earphones" value="YES" />
            <label for="Earphones" class="check">Earphones</label>
        <input name="USBcable" type="checkbox" id="USBcable" value="YES" />
            <label for="USBcable" class="check">USB cable</label>




4

1 に答える 1

0

同じ名前のフォーム要素が複数あるようです。1 つのフォームに複数の製品を含める場合は、各要素名に一意の ID を追加してみてください。

例えば:

<select name="nano5_icolorDEVICE">
于 2012-10-11T14:24:17.807 に答える