1

jsscriptfile cssfile 我在从选择框名称 icolorDEVICE 发送值时遇到问题,这是根据上述选择显示的第三级块元素。GB 复选框传递了它的值,但由于某种原因,选择不会。第一级和第二级的选择框将传递值。

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 中查看表单中发送了哪些值。这是数组中返回的内容:注意 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 版本的第二个级别。然后,您将获得该版本附带的所有选项。空间、耳机、色彩等。复选框将传递所有值。选择框不会在此级别传递值。有趣的是你也不能在这个级别上注释掉你的代码。我觉得这与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>

这是第三级,不允许或传递表单中的选择框值。复选框将发送。请帮忙。感谢您调查这个大脑停止问题。

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

看起来您有多个同名的表单元素。如果您要在一种形式中拥有多个产品,您应该尝试为每个元素名称附加一个唯一的 id。

例如:

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