2013-07-30 112 views
0

我正在嘗試顯示某些內容(或根據他們選擇的內容而不顯示)。但是,我需要在驗證之前做到這一點。我怎麼能這樣做?我的代碼只有在按下提交按鈕後纔會執行。但是我需要預先驗證它,這樣紅色的顏色纔會出現。提交前預驗證表格

(注:我不想使用硬編碼的CSS,因爲我需要使用類似的代碼來顯示和顯示沒有)。

if($('#amortization_years').val() == '' || $('#amortization_years').val() == 0 || $('#amortization_years').val() >= 36 || $('#amortization_months').val() >= 12 || ($('#amortization_years').val() == 35 && $('#amortization_months').val() > 0)) 

{ 
    $('#amortization_years').css('border', 'solid red 2px'); 
    $('#error_years').fadeIn(3000); 
    $('#amortization_months').css('border', 'solid red 2px'); 
    $('#error_months').fadeIn(3000); 
    valid = false;} 
    else {($('#error_years').fadeOut(3000) && $('#error_month').fadeOut(3000)); 
} 

編輯:返工,但仍然需要幫助

我的工作對@Aprillion鏈接我的內容。這是我需要(重做),這是一個下拉菜單。

最後,有一部分表格(從下拉菜單中選擇#16),只有在滿足某些條件時才需要出現該表格(基本上,如果某人選擇第一個答案,那麼他也可以選擇第16個問題,這將出現在下拉菜單中,因此,基本上,如果該人不在下拉菜單中選擇包含15個項目(加上第16個項目)的任何項目,則他不能選擇#16。下面是我返工的代碼。

<script> 
      /* 
The id for the thing 
    sCat-<?php echo $numProj; ?><?php echo $numC ?> 
    */ 
    window.onload=function(){ 
     var validate = function(evt){ 
      // your custom code, e.g.: 
      valid = true; 
      if ($('.16th').val() !== "sCat-<?php echo $numProj; ?><?php echo $numC ?>") { 
       //valid = false; 
       $('.16thup').css('display', 'none'); 
       //$('#a').addClass("invalid"); 
      } else { 
       //$('#a').removeClass("invalid"); 
       $('.16thup').css('display', 'block'); 
      } 
      //return valid; 
     } 

     $('#myform').change(validate); 
     $('#myform').submit(validate); 
     } 

    </script> 
+0

在加載時運行代碼或將其設置爲CSS。問題是什麼? – Mathletics

+0

我也需要將它與顯示器一起使用並且不顯示任何東西。我試着在加載時運行代碼,但沒有成功。 –

回答

0

您可以綁定驗證到change事件以及到submit

http://api.jquery.com/change/

+0

我想了解所寫的內容,但我不明白如何使用它:/ –

+0

您是如何將OP中的驗證綁定到提交事件的? – Aprillion

+0

我使用表單操作提交到下一頁,同時在該頁面上使用JavaScript驗證(這是事件的後期操作)。 –