开发者

Javascript "submit(); " Function not found error

I have Form as

<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开发者_Python百科="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>

and javascript function as

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();

    }

But whenever all the javascript validation is verified the form doesnot get submitted as yields a javascript error as " frm.submit is not a function" in firebug.

Could some one suggest me where the code is going wrong?


Hei if you have a button named submit submit() function won't work. rename

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

to something else

eg:

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


You are not specifying form correctly.

Quick Fix:

Just below this line:

function valdocAddEdit(frm) {

Put:

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

Meaning:

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

And now frm.submit(); shouldn't complain.


You are specifying form correctly,first,but not a Best practice. basicly, form has a fun named submit to fire the request base on its action,but in your code the form also has a property submit to map the input value.so change the submit btn'name to something else,it would be work!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜