表单已禁用输入,如何使处理页面不尝试处理禁用的字段?

时间:2014-04-22 19:04:23

标签: forms

我有一个表单,当我们通过JQuery单击“与结算地址相同”复选框时禁用发货地址。

提交表单时,禁用的字段(发货)显然不会传递任何数据,但我的处理表单是说这些特定字段未定义。

如果禁用字段(发货)的值被禁用,如何使处理表格不会查找?

这是处理表格:

<cfset orderno = #numberFormat(randrange(00001,99999), "00000")#>
<cfmail to="xxx" from="xxx" subject="xxxx ORDER No. #orderno#" server="xxx"  username="xx" password="xxx" type="html">

<img src="http://www.mmprint.com/index_files/maillogo.jpg" width="500" height="85" />         <br /><br /> <font face="Arial" size="+3"><strong>NEW LIVE JOB - <font   color="##FF0000">CMS-1500 BLANK </font> Form Order No. <cfoutput>#orderno#</cfoutput>   </strong>
 <table border="1" bordercolor="##660000" cellpadding="2" cellspacing="0">
<tr>
    <td colspan="2"><h2>CMS-1500 Order Information:</h2></td>
</tr>

 <tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Quantity:</td><td align="left" valign="top">#form.qty#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Type:</td><td align="left" valign="top">#form.cctype#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">CC Number:</td><td align="left" valign="top">#form.ccnumber#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">CC Month:</td><td align="left" valign="top">#form.ccmonth#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">CC Year:</td><td align="left" valign="top">#form.ccyear#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">CSV:</td><td align="left" valign="top">#form.csv#</td>
</tr>

<!-- Billing Info -->
<tr>
<td><h2>Billing Information:</h2></td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Company Name:</td><td align="left" valign="top">#form.bconame#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">First Name:</td><td align="left" valign="top">#form.bfname#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Last Name:</td><td align="left" valign="top">#form.blname#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Address:</td><td align="left" valign="top">#form.baddress#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Address:</td><td align="left" valign="top">#form.baddress2#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Address:</td><td align="left" valign="top">#form.bcity#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Address:</td><td align="left" valign="top">#form.bstate#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Address:</td><td align="left" valign="top">#form.bzip#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Email:</td><td align="left" valign="top">#form.email#</td>
</tr>       
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Comments:</td><td align="left" valign="top">#form.comments#</td>
</tr>



</table>
<br />
<br />

<!-- SHIPPING INFO -->
<table border="1" bordercolor="##660000" cellpadding="2" cellspacing="0">
<tr>
<td><h2>Shipping Information:</h2></td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Company Name:</td><td align="left" valign="top">#form.coname#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">First Name:</td><td align="left" valign="top">#form.fname#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Last Name:</td><td align="left" valign="top">#form.lname#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Address:</td><td align="left" valign="top">#form.address#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Address 2:</td><td align="left" valign="top">#form.address2#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">City:</td><td align="left" valign="top">#form.city#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">State:</td><td align="left" valign="top">#form.state#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Zip:</td><td align="left" valign="top">#form.zip#</td>
</tr>
</table>
 </font>
 </cfmail>

 <cfmail to="#form.email#" from="xxx" bcc="xxx" subject="Thank You for your order - No. #orderno#" server="xxx" username="xxx" password="xxx" type="html">

<p><img src="xxx" width="500" height="85" /></p>
<p><font face="Arial" size="+1"><strong><font color="##006600">Order Confirmation-                   </font>- No. <cfoutput>#orderno#</cfoutput> </strong>
</font></p>

<font face="Arial" size="1"><p>Your order for <cfoutput>#qty#</cfoutput>xxx has been successfully received.</p>
<p>If your order is received by 2PM (ET) they will ship the same day!</p>
<p>Questions or Comments? Please call us at 1-877-mmprint or 516-334-1603 or email info@mmprint.com </p></font>


<table border="1" bordercolor="##660000" cellpadding="2" cellspacing="0">
<tr>
<td><h2>Shipping Information:</h2></td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Company Name:</td><td align="left" valign="top">#form.coname#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">First Name:</td><td align="left" valign="top">#form.fname#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Last Name:</td><td align="left" valign="top">#form.lname#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Address:</td><td align="left" valign="top">#form.address#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Address 2:</td><td align="left" valign="top">#form.address2#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">City:</td><td align="left" valign="top">#form.city#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">State:</td><td align="left" valign="top">#form.state#</td>
</tr>
<tr>
    <td bgcolor="##CCCCCC" align="left" valign="top">Zip:</td><td align="left" valign="top">#form.zip#</td>
</tr>

</table>



</cfmail>



<cflocation url="thanks.cfm?name=#form.bfname#" addtoken="no">

这是形式本身:

<form action="process.cfm" id="blank-form" method="post" class="vertical">
  <div class="col_4 ">
    <fieldset>
      <legend>Choose Your Quantity:</legend>
      <p>
        <select id="qty" name="qty"  size="4" data-validation="required" data-validation-error-msg="Please Select a Quantity." >
          <option value="100 Blank">100 &nbsp; - Blank CMS 1500 </option>
          <option value="250 Blank">250 &nbsp; - Blank CMS 1500 </option>
          <option value="500 Blank ">500 &nbsp; - Blank CMS 1500 </option>
          <option value="1000 Blank">1000 - Blank CMS 1500 </option>
        </select>
      </p> <div style="font-size:0.7em; text-align:right;">*plus shipping and handling</div>
    </fieldset>
    <!-- CREDIT CARD -->
    <fieldset>
    <legend><i class="icon-lock"></i> Payment Information </legend>
    <label for="cctype">Type</label>
      <select id="cctype" name="cctype" data-validation="required">
      <option value="VISA">VISA</option>
      <option value="MC">Mastercard</option>
      <option value="AMEX">AMEX</option>
      <option value="DISC">Discover</option>
    </select>

    <label for="ccnumber">Credit Card Number</label>
    <input type="text" id="ccnumber" name="ccnumber" data-validation="number" data-validation-error-msg="Please Enter a Valid Credit Card Number." >

   <div class="col_5"> <label for="ccmonth">Expiration</label>
    <select name="ccmonth" id="ccmonth" data-validation="required">
    <option value = "1">January</option>
<option value = "2">February</option>
<option value = "3">March</option>
<option value = "4">April</option>
<option value = "5">May</option>
<option value = "6">June</option>
<option value = "7">July</option>
<option value = "8">August</option>
<option value = "9">September</option>
<option value = "10">October</option>
<option value = "11">November</option>
<option value = "12">December</option> 
</select></div>
   <div class="col_4"> <label for="ccyear">Year</label>
    <select  name="ccyear" id="ccyear" data-validation="required">
     <option value = "2014" >2014</option>
<option value = "2015">2015</option>
<option value = "2016">2016</option>
<option value = "2017">2017</option>
<option value = "2018">2018</option>
<option value = "2019">2019</option>
<option value = "2020">2020</option>
    </select></div>

     <div class="col_3"><label for="csv" >CSV #</label>
    <input type="text"  name="csv" id="csv"  data-validation="required" data-validation-error-msg="&nbsp;"></div>


    </fieldset>
    <fieldset><legend>Email &amp; Phone</legend>

    <input type="text" placeholder="your@email.com"  name="email" id="email" data-validation="email" data-validation-error-msg="Please enter a valid email where you can receive your order confirmation.">
    <input type="text" placeholder="555-505-5050"  name="phone" id="phone" data-validation="number" data-validation-error-msg="Please enter a phone number where we can contact you."></fieldset>
    </div>
  <div class="col_4">
    <fieldset>
      <legend>Billing Information</legend>

     <p><input type="checkbox" id="sameasbilling"> Ship to Same As Billing Address</p>

      <label for="bconame">Company Name</label>
      <input type="text" id="bconame"  name="bconame" minlength="2"/>
      <label for="bfname">First Name</label>
      <input type="text" id="bfname"  name="bfname" minlength="2" data-validation="required"/>
      <label for="blname">Last Name</label>
      <input type="text" id="blname"  name="blname" minlength="2" data-validation="required"/>
      <label for="baddress">Address</label>
      <input type="text" id="baddress"  name="baddress" minlength="2" data-validation="required"/>
      <label for="baddress2">Suite/Apt #</label>
      <input type="text" id="baddress2" name="baddress2"  />
      <label for="bcity">City</label>
      <input type="text" id="bcity" name="bcity" data-validation="required" />
      <label for="bstate">State</label>
      <input type="text" id="bstate" name="bstate" minlength="2" data-validation="required" />
      <label for="bzip">Zip</label>
      <input type="text" id="bzip"  name="bzip" minlength="5" data-validation="required"/>

    </fieldset>
  </div>
  <div class="col_4" id="shipping">
    <fieldset>
      <legend>Shipping Information</legend><br><br>
       <label for="coname">Company Name</label>
      <input type="text" id="coname"  name="coname" minlength="2" />
      <label for="fname">First Name</label>
      <input type="text" id="fname"  name="fname" minlength="2" data-validation="required"/>
      <label for="lname">Last Name</label>
      <input type="text" id="lname"  name="lname" minlength="2" data-validation="required" />
      <label for="address">Address</label>
      <input type="text" id="address"  name="address" minlength="2" data-validation="required"/>
      <label for="address2">Suite/Apt #</label>
      <input type="text" id="address2" name="address2" />
      <label for="city">City</label>
      <input type="text" id="city" name="city" data-validation="required"/>
      <label for="state">State</label>
      <input type="text" id="state" name="state" minlength="2" data-validation="required"/>
      <label for="zip">Zip</label>
      <input type="text" id="zip"  name="zip" minlength="5" data-validation="required" />
     </fieldset>
  </div>
  <div class="row">
  <fieldset>
  <legend>Comments | Special Instructions</legend>
 <textarea id="comments" name="comments"></textarea>
        <div class="right">
  <button class="pop orange">Send the order!</button></div>
</form>

THE JQUERY:

<script>
 $(document).ready(function() {

$('#sameasbilling').change(function(){
if ($('#sameasbilling').is(':checked')){
    $('#shipping :input').addClass('disabled').prop('disabled',  true).attr("value","Same As Billing");

} else {
    $('#shipping :input').removeClass('disabled').prop('disabled',  false).removeAttr("value");

    }
});
 $.validate();
  })
</script>

1 个答案:

答案 0 :(得分:0)

我发现我可以简单地使用

     <cfparam name="form.name" default = "Default text">

在处理表单时替换缺少的字段。

我只接受这个解决方案,因为我的表格很短。我确信有更好的方法可以处理大量处理大量数据的表单。

希望这会帮助别人。