2016-03-29 1 views
0

誰かがRepostを叫ぶ前に、私が見た私のような多くのケースはありません。
メインの選択オプション、サブ選択オプション、およびサブ選択オプションを持つ連絡フォームがあります。全体的に、27種類のオプションがあります。私はPHPで27種類のPHPをすべて作成し、「はい、この1つではありませんが、1つではありません」というタイプのレポートを作成できますが、私は逃げ出します。
私の連絡先フォーム用のPHPスクリプトは、3階層の選択メニューから選択されたものだけを送信するにはどうすればよいですか?編集:私は完全にこれを容易にするためにPHP以外の何かを使用して、私はちょうど同様にPHPスクリプトのヘルプが必要です。
編集:明確にするために、私は作成してPHPスクリプトを作成し、フォームを評価したり、必要なセクションがすべて記入されているかどうかを確認します。
コード
どのように複数の選択依存から連絡フォームのPHPスクリプトを作成する必要があります

<form action="sending.php" method="POST" enctype="multipart/form-data"> 
 
\t <input type="hidden" name="action" value="submit"> 
 
\t Name:<br> 
 
\t <input name="name" type="text" value="" size="30"/><br> 
 
\t Email:<br> 
 
\t <input name="email" type="text" value="" size="30"/><br> 
 
\t Service:<br> 
 
\t <select name="service" id="service" class="service"> 
 
\t \t <option>Select a Service</option> \t 
 
\t \t <option value="screen" data-target="devices" id="screen">Screen Replacement</option> \t  
 
\t \t <option value="comp" data-target="comp" id="comp">Computer Work</option> 
 
\t \t <option value="misc" data-target="misc" id="misc">Miscellaneous</option> 
 
\t </select> 
 
\t <div style="display:none" id="service-devices"> 
 
\t \t <select name="devices" id="devices" class="devices"> 
 
\t \t \t <option>Select a Device</option> \t  
 
\t \t \t <option value="iphone" data-target="iphones" id="iphone">iPhone</option> \t  
 
\t \t \t <option value="ipad" data-target="ipads" id="ipad">iPad</option> 
 
\t \t \t <!--<option value="watch" id="watch">Apple Watch</option> --> 
 
\t \t \t <option value="android" id="android">Android</option> 
 
\t \t </select> 
 
\t \t <div style="display:none" id="devices-iphones"> 
 
\t \t \t <select name="iphone" id="iphone" class="iphone"> 
 
\t \t \t \t <!--<option value="iphone6s" id="iphone6s">iPhone 6S</option> --> 
 
\t \t \t \t <!--<option value="iphone6splus" id="iphone6splus">iPhone 6S Plus</option>--> 
 
\t \t \t \t <option>Select a Model</option> 
 
\t \t \t \t <option value="iphone6" id="iphone6">iPhone 6</option> 
 
\t \t \t \t <option value="iphone6plus" id="iphone6plus">iPhone 6 Plus</option> 
 
\t \t \t \t <option value="iphone5s" id="iphone5s">iPhone 5S</option> 
 
\t \t \t \t <option value="iphone5c" id="iphone5c">iPhone 5C</option> 
 
\t \t \t \t <option value="iphone5" id="iphone5">iPhone 5</option> 
 
\t \t \t \t <option value="iphone4s" id="iphone4s">iPhone 4S</option> 
 
\t \t \t \t <option value="iphone4" id="iphone4">iPhone 4</option> 
 
\t \t \t </select> 
 
\t \t </div> 
 
\t \t <div style="display:none" id="devices-ipads"> 
 
\t \t \t <select name="ipad" id="ipad" class="ipad"> 
 
\t \t \t \t <option>Select a Model</option> 
 
\t \t \t \t <option value="ipadmini3" id="ipadmini3">iPad Mini 3</option> 
 
\t \t \t \t <option value="ipadmini2" id="ipadmini2">iPad Mini 2</option> 
 
\t \t \t \t <option value="ipadair" id="ipadair">iPad Air</option> 
 
\t \t \t \t <option value="ipad4" id="ipad4">iPad 4</option> 
 
\t \t \t \t <option value="ipad3" id="ipad3">iPad 3</option> 
 
\t \t \t \t <option value="ipadmini" id="ipadmini">iPad Mini</option> 
 
\t \t \t \t <option value="ipad2" id="ipad2">iPad 2</option> 
 
\t \t \t </select> 
 
\t \t </div> 
 
\t </div> 
 
\t <div style="display:none" id="service-comp"> 
 
\t \t <select name="compwork" id="compwork" class="compwork"> 
 
\t \t \t <option value="desktopcreation" id="desktopcreation">Desktop Creation</option> 
 
\t \t \t <option value="desktopbuild" id="desktopbuild">Desktop Build</option> 
 
\t \t \t <option value="hardwareupgrades" id="hardwareupgrades">Hardware Upgrades</option> 
 
\t \t \t <option value="datarecovery" id="datarecovery">Data Recovery/Transfer</option> 
 
\t \t \t <option value="spywareremoval" id="spywareremoval">Spyware/Adware Removal</option> 
 
\t \t \t <option value="virusremoval" id="virusremoval">Virus Removal</option> 
 
\t \t </select> 
 
\t </div> 
 
\t <div style="display:none" id="service-misc"> 
 
\t \t <select name="miscellaneous" id="miscellaneous" class="miscellaneous"> 
 
\t \t <option value="networksecurity" id="networksecurity">Network Security</option> 
 
\t \t <!--<option value="webdesign" id="webdesign">Website Design</option>--> 
 
\t \t </select> 
 
\t </div><br> 
 
\t Message:<br> 
 
\t <textarea name="message" rows="7" cols="30"></textarea><br> 
 
\t <input type="submit" value="Submit Request"/> 
 
</form>

+0

ストレートPHP、あなたがすることはできません。いくつかのjavascript/jQueryで混合することに興味があれば、サブミットしない入力の「無効」属性を設定し、完了/サブミットする必要がないように無効にすることができます。 –

+0

私はいくつかのJS/JQueryを投げても構いませんが、問題はすべてのオプションを選択可能にして、あなたのメソッドでは不可能であるように思えます。私が間違っていれば私を訂正してください。私はいずれかの言語にひどく慣れていません。編集するだけで十分です。髪を作りません。 – Chris

答えて

0

私は私はあなたのhtml形式でいくつかの変更を行っている...あなたはデバイスなどの選択に関連する選択ボックスを表示するためのjQueryを持っていることを前提とし、あなたのフォームタグにid = "form"を追加するのと同じです。また、 "サービスを選択してください"などのオプションにvalue = ""を追加しました。ここにコードがあります。この情報がお役に立てば幸いです。..だけでなく、この参照してください。.. Jquery form submit to check empty fields

<form id="form" action="sending.php" method="POST" enctype="multipart/form-data"> 
<input type="hidden" name="action" value="submit"> 
Name:<br> 
<input name="name" type="text" value="" size="30"/><br> 
Email:<br> 
<input name="email" type="text" value="" size="30"/><br> 
Service:<br> 
<select name="service" id="service" class="service"> 
    <option value="">Select a Service</option> 
    <option value="screen" data-target="devices" id="screen">Screen Replacement</option>  
    <option value="comp" data-target="comp" id="comp">Computer Work</option> 
    <option value="misc" data-target="misc" id="misc">Miscellaneous</option> 
</select> 
<div style="display:none" id="service-devices"> 
    <select name="devices" id="devices" class="devices"> 
     <option value="">Select a Device</option>  
     <option value="iphone" data-target="iphones" id="iphone">iPhone</option>  
     <option value="ipad" data-target="ipads" id="ipad">iPad</option> 
     <!--<option value="watch" id="watch">Apple Watch</option> --> 
     <option value="android" id="android">Android</option> 
    </select> 
    <div style="display:none" id="devices-iphones"> 
     <select name="iphone" id="iphone" class="iphone"> 
      <!--<option value="iphone6s" id="iphone6s">iPhone 6S</option> --> 
      <!--<option value="iphone6splus" id="iphone6splus">iPhone 6S Plus</option>--> 
          <option value="">Select a Model</option> 
      <option value="iphone6" id="iphone6">iPhone 6</option> 
      <option value="iphone6plus" id="iphone6plus">iPhone 6 Plus</option> 
      <option value="iphone5s" id="iphone5s">iPhone 5S</option> 
      <option value="iphone5c" id="iphone5c">iPhone 5C</option> 
      <option value="iphone5" id="iphone5">iPhone 5</option> 
      <option value="iphone4s" id="iphone4s">iPhone 4S</option> 
      <option value="iphone4" id="iphone4">iPhone 4</option> 
     </select> 
    </div> 
    <div style="display:none" id="devices-ipads"> 
     <select name="ipad" id="ipad" class="ipad"> 
         <option value="">Select a Model</option> 
      <option value="ipadmini3" id="ipadmini3">iPad Mini 3</option> 
      <option value="ipadmini2" id="ipadmini2">iPad Mini 2</option> 
      <option value="ipadair" id="ipadair">iPad Air</option> 
      <option value="ipad4" id="ipad4">iPad 4</option> 
      <option value="ipad3" id="ipad3">iPad 3</option> 
      <option value="ipadmini" id="ipadmini">iPad Mini</option> 
      <option value="ipad2" id="ipad2">iPad 2</option> 
     </select> 
    </div> 
</div> 
<div style="display:none" id="service-comp"> 
    <select name="compwork" id="compwork" class="compwork"> 
     <option value="desktopcreation" id="desktopcreation">Desktop Creation</option> 
     <option value="desktopbuild" id="desktopbuild">Desktop Build</option> 
     <option value="hardwareupgrades" id="hardwareupgrades">Hardware Upgrades</option> 
     <option value="datarecovery" id="datarecovery">Data Recovery/Transfer</option> 
     <option value="spywareremoval" id="spywareremoval">Spyware/Adware Removal</option> 
     <option value="virusremoval" id="virusremoval">Virus Removal</option> 
    </select> 
</div> 
<div style="display:none" id="service-misc"> 
    <select name="miscellaneous" id="miscellaneous" class="miscellaneous"> 
    <option value="networksecurity" id="networksecurity">Network Security</option> 
    <!--<option value="webdesign" id="webdesign">Website Design</option>--> 
    </select> 
</div><br> 
Message:<br> 
<textarea name="message" rows="7" cols="30"></textarea><br> 
<input type="submit" value="Submit Request"/> 

<script src="js/jquery-1.10.2.min.js"></script> 
    <script> 
    $(document).ready(function() { 
    $('select').change(function(){ 
    var boxid = $(this).children('option:selected').attr('data-target'); 
    alert(boxid); 
    if(boxid == "devices") { 
     var divId = "service-" + boxid; 
    } 
    document.getElementById(divId).style.display = "block"; 

    }); 

    $("form").submit(function(){ 
     // $(':input[value=""]').attr('disabled', true); 

     $("input[type='text'],select,input[type='password'],textarea",this).each(function() { 
      if($(this).val().trim() == "") { 
       $(this).attr('disabled', true); 
      } 
     }) 


    }); 


    });  
    </script> 
+0

申し訳ありません。私は、PHPの連絡フォームを作成して作成しようとしていますが、すべてが記入されていることを検証するのではありません(今は重要ではありませんが)。 – Chris

関連する問題