2016-11-24 6 views
2

「デザイナー」を選択した後は、「オーダー番号」を選択した場合のみ「オーダー番号」を選択するオプションより「オーダー番号」&が表示されます。ここで、「製品」は複数選択ボックスです。リセットボタンのバリデーションを削除

enter image description here

は私がボタンをリセット]をクリックすると、よりも、そのは、「製品」値、butttonを提出するための罰金を埋めるために求めていることをそのやって検証を「デザイナー」&「注文番号」を選択したが、想定します「RESET」ボタンの検証は行わないでください。ここで

私はthisをしようとしたが、まだその動作していないのですが....すべてのオプション値は以下のようにPHPコードから動的にフェッチされています。

enter image description here

製品は、複数選択ボックス

enter image description here

フォーム

<form method="post" enctype='multipart/form-data' action="update_paidstatus.php" onsubmit="return validate();"> 
    <table> 
    <tr> 
     <td> Designer </td>  
     <td> 
      <select onchange="getOrderDetail(event);" name="designer_id" id="designer_id"> 
      <option value="">Select Designer</option> 
      <?php while($data = $stmt->fetch()) { if($data['type']=="admin")continue;?> 
       <option value="<?php echo $data['userID'];?>"><?php echo $data['name'];?></option> 
      <?php } ?> 
      </select> 
     </td> 

     <td><p id="error_para1" ></p></td> 
    </tr> 

     <tr> 
     <td> 
      Order Number: 
     </td> 
     <td> 
     <div id="ordernumbers"> 
      <select name="designerorder_id" id="designerorder_id"> 
      <option value="">Select Order</option> 
      </select> 
      </div> 
     </td> 
     <td><p id="error_para2" ></p></td> 
     </tr> 
     <tr> 
     <td> 
      Product 
     </td> 
     <td> 
     <div id="productnumbers" name="dproduct_ids" id="dproduct_ids"> 
      <select id="mySelect"> 
      <option>Select Products</option> 
      </select> 

     </div> 
     </td> 
     <td><p id="error_para3" ></p></td> 
     </tr> 

    </table> 
    <hr/> 

<input type="hidden" name="dproduct_id" id="dproduct_id" value=""/> 
    <input class="btn btn-large btn-primary" name="btn-signup" type="submit" id="btnSubmit" value="Submit" /> 
    <button formnovalidate="formnovalidate" class="btn btn-large btn-primary">RESET</button> 

    </form> 

スクリプト

です
function validate() 
{ 
// alert("d"); 
var error=""; 
var designer_id = document.getElementById("designer_id"); 
if(designer_id.value == "") 
{ 
    error = " Please Select Designer"; 
    document.getElementById("error_para1").innerHTML = error; 
    return false; 
} 
var error=""; 
var dproduct_ids = document.getElementById("dproduct_ids"); 

if(dproduct_ids.value == "") 
{ 
    error = " Please Select Product"; 
    document.getElementById("error_para3").innerHTML = error; 
    return false; 
} 
var error=""; 
var designerorder_id = document.getElementById("designerorder_id"); 
if(designerorder_id.value == "") 
{ 
    error = " Please Select Order"; 
    document.getElementById("error_para2").innerHTML = error; 
    return false; 
} 
var error=""; 
var commission = document.getElementById("commission"); 
alert(commission.value); 
if(commission.value == "") 
{ 
    error = " Please add commission"; 
    document.getElementById("error_para5").innerHTML = error; 
    return false; 
} 
var error=""; 
var Duedate = document.getElementById("Duedate"); 
if(Duedate.value == "") 
{ 
    error = " Please Select Designer"; 
    document.getElementById("error_para6").innerHTML = error; 
    return false; 
} 
    else 
{ 
    return true; 
} 
} 


$(document).ready(

    /* This is the function that will get executed after the DOM is fully loaded */ 
    function() { 
    $("#datepicker").datepicker({ 
     changeMonth: true,//this option for allowing user to select month 
     changeYear: true //this option for allowing user to select from year range 
    }); 
    } 

); 
    function getOrderDetail(e) 
    { 
    var designerId=e.target.options[e.target.selectedIndex].value;  
    var url="http://sbdev2.kidsdial.com:81/php/site6/designerpaidstatus.php?designer_id="+designerId+"&opration=2"; 
     var request = jQuery.ajax({ 
       url: url , 
       type: 'POST',      
      }); 

      request.done(function (result) 
      { 
       document.getElementById('ordernumbers').innerHTML =result; 

      }); 
      request.fail(function (error) 
      { 
       console.dir(error);    
      }); 
    } 
    function getProductDetail(e) 
    {  
    var productId = $("#dproductselect option:selected").attr("class"); 
    var finalstrig=productId.split(","); 

    var select=''; 
    select+='<select class="test" multiple="multiple" name="dproduct_ids" id="dproduct_ids">'; 

    for(i=0;i<finalstrig.length;i++) 
    { 
     if(finalstrig[i]!=0) 
     { 
     select +='<option value="'+finalstrig[i]+'">'+finalstrig[i]+'</option>'; 
     } 
    } 
    select +='</select>'; 
    document.getElementById('productnumbers').innerHTML =select; 
    (function($) { 
    $(function() { 
     $('.test').fSelect(); 
    }); 
})(jQuery); 

    } 
    <!-- reset --> 
$("button").click(function() { 
    $("#mySelect").val([]); 
}); 

注:私はこのプログラミングの世界に新しいですまた、ここに投稿する前に、多くのことを試してみました....

+0

リセットボタン用このコードを試してみてください - > 'の' – Andreas

+0

を "RESET" @Andreas 'reset button'の検証だけを削除するので、このコードをリセットボタンに使用しています:' $( "button")click(function(){ $( "#mySelect")。val([]); }); ' –

+0

@abcd do what' @ Andreas'は言った –

答えて

0

resetの種類とだけinputタグはあなたの問題を解決することはできませんので、あなたも登録が必要です。スクリプトで次に

<button type="button" onClick="resetSelect()" formnovalidate="formnovalidate" class="btn btn-large btn-primary">RESET</button> 

。これを試してみてくださいリセット入力ボタンをクリックすると、これらの追加要素を削除するリスナーです。

リセットbuttonタグを次のHTML inputタグに置き換え、スクリプト内でリセットコードを次のスクリプトコードに置き換えます。

HTML:

<input type="reset" class="btn btn-large btn-primary" id='button_reset' formnovalidate="formnovalidate" value="RESET"/> 

スクリプト:

$(function(){ 
    $("#button_reset").click(function() { 
    $("#productnumbers").html('<select id="mySelect"><option>Select Products</option></select>'); 
    }); 
}); 

がうまくいけば、これはあなたの問題を解決します。

+0

申し訳ありません、働かない...... –

+0

getProductDetailの 'choose'属性' multiple'の値'関数が間違っていれば、' multiple'の値は 'false'の' true'でなければなりません。それはBoolean型です。 – catssay

+0

@ abcdあなたはjsfiddleまたはcodepenのリンクを与えて、そこで何が起こったのか確認できますか? – catssay

0

は、「ボタン」として、ボタンの種類を確認します....私を助けてください。あなたが動的にいくつかのHTML要素を挿入するので

<script type="text/javascript"> 
    function resetSelect() { 
    $("#mySelect").fSelect("reload"); 
    } 
</script> 
+0

残念ですが、動作していません.... –

+0

あなたが得ているエラー? –

+0

エラーはありませんが、「リセット」をクリックしても何も起こりません.... –

0
<input type="reset" class="btn btn-large btn-primary" formnovalidate="formnovalidate" value="RESET"/> 

"RESET" ボタンを押しても送信ボタンです

+0

私は前にそれを試しましたが、それは現在の問題を解決しますが、もう一度問題を解決します。それはリセットボタンをクリックするとまだ製品の値はそのままです:http://prnt.sc/db4285 –

+0

ありがとう.. –

関連する問題