2011-01-07 19 views
0

私はJavascriptが「)(提出;」機能が見つからないエラー

function valdocAddEdit(frm) { 
     if ((frm.doc_name.value == null) || (frm.doc_name.value == "")) { 
      alert("Please enter Document Name!") 
      frm.doc_name.focus() 
      return false; 
     } 


     if(frm.doc_name.value.length > 50) { 
      alert("Document Name can not be more than 20 characters!"); 
      frm.doc_name.focus(); 
      return false; 
     } 



     if(frm.doctype_id.value == "-1") { 
      alert("Please Select Document Type Name!"); 
      frm.doctype_id.focus(); 
      return false; 
     } 

     if(frm.doctype_id.value == "1") { 
      if(document.getElementById('purshasedocs').style.display == "block"){ 
       if(frm.purchasedoc_id.value == "-1"){ 
        alert("Please Select Purchase Order Name!"); 
        frm.purchasedoc_id.focus(); 
        return false; 
       } 
      } 
     } 

     if(frm.distribution_id.value == "-1") { 
      alert("Please Select Distribution Name!"); 
      frm.distribution_id.focus(); 
      return false; 
     } 
     frm.submit(); 

    } 

として

<form name="selectdoctype" method="post" action="" id="selectdoctype"> 
<table style="border:none;"> 
<tr><td colspan="2"> (<span class="asterisk" style="color:#FF0000;">*</span>) Mandatory</td></tr> 
<tr> 
    <td style="border-right:none">Document Name:</td> 

    <td style="border-right:none"> 
     <input type="text" name="doc_name" value="" /><span class="asterisk" style="color:#FF0000;">*</span> 
    </td> 
</tr> 
<tr> 
    <td style="border-right:none">Document type:</td> 
    <td style="border-right:none"> 
    <select name="doctype_id" onchange="doPaymentfor(this.value);"><option value="-1" >--Select Document Type--</option> 
     <?php 
     foreach($arr_createdoc as $doctype){ 
     ?> 
     <option value="<?php echo $doctype['doctype_id'];?>"><?php echo $doctype['doctype_name'];?></option> 
     <?php }?> 
    </select> 
    </td> 
</tr> 

<tr> 
    <td style="border-right:none" id="purchaselabel"></td> 
    <td style="border-right:none"> 
    <select name="purchasedoc_id" id="purshasedocs" style="display:none;"><option value="-1" >--Select Document Type--</option> 
     <?php 
     foreach($arr_purchasedoc as $docpurchase){ 
     ?> 
     <option value="<?php echo $docpurchase['doc_id'];?>"><?php echo $docpurchase['doc_name'];?></option> 
     <?php }?> 
    </select> 
    </td> 
</tr> 

<tr> 
    <td style="border-right:none">Document Distribution:</td> 

    <td style="border-right:none"> 
     <select name="distribution_id"> 
     <option value="-1">---Select Distriution---</option> 
     <?php foreach($arr_distribution as $distribution){?> 
     <option value="<?php echo $distribution['distribution_id'];?>"><?php echo $distribution['distribution_name'];?></option> 
     <?php }?> 
     </select> 
    </td> 
</tr> 
<tr> 
    <td colspan="2" align="center" style="border-right:none"> 
     <input type="button" name="submit" value="Proceed" class="submit" onclick="valdocAddEdit(this.form);"/> 
    </td> 
</tr> 
</table> 
</form> 

とJavaScriptの関数としてのフォームを持っている。しかし、すべてのjavascriptの検証が確認されたときに、フォームのように提出しますdoesnot "frm.submitは関数ではありません"というようなjavascriptエラーが発生します。 in firebug

コードが間違っている場所を教えてください。

答えて

1

フォームを正しく指定していません。

クイックフィックス:ちょうどこの線より下の

function valdocAddEdit(frm) { 

入れ:

var frm = document.getElementById('selectdoctype'); 

意味:

function valdocAddEdit(frm) { 
    var frm = document.getElementById('selectdoctype'); 
    ......... 
} 

とNお返事frm.submit();は不平を言ってはいけません。

2

submitという名前のボタンがある場合は、submit()関数は機能しません。例えば

何か他のものに

<input type="button" name="submit" value="Proceed" class="submit" onclick="valdocAddEdit(this.form);"/> 

の名前を変更する:あなたは、フォームを正しく指定している

<input type="button" name="submit_btn" value="Proceed" class="submit" onclick="valdocAddEdit(this.form);"/>` 
0

、最初ではなく、ベストプラクティスを。 基本的には、フォームはfunという名前のsubmitという名前のアクションでリクエストベースを起動しますが、フォームには入力値をマップするプロパティサブミットもあります.btn'nameを別のものに変更すると作業になります!

+0

-1適切な文章を使用してください。 – Tomas

+0

私はとても残念ですが、私は中国人です、私の英語はとても貧しいです! – island205

関連する問題