2014-02-10 51 views
0

我有一个工作表单,但我需要它发送一个仅为文本的值(不包括数字值)。如果有更简单的方法可以做到这一点,请你帮忙。表单字段计算

这里的爵士小提琴 - http://jsfiddle.net/qeSZR/83/

基本上当你点击企业,它计算的值,并将其更改为3500,当你点击私人它,它更改为1800。我的问题是,当你的邮件这个,我有一个说“客户类型”的字段,其中包括“1800:Private”或“3500:Corporate”作为其发送的值。我不希望数字,我宁愿只是客户类型=私人或公司。请帮助:) - 谢谢!

下面是代码:

HTML

 <form action="mailer.php" data-validate="parsley" method="post"> 
      <div class="driver-list"> 
       <p> 
       <h2>Driver 1:</h2> 
       Name <span class="red">*</span>&nbsp; <input name="cf_driver1" data-required="true" type="text" class="form-text" /> 
       Cellphone <span class="red">*</span>&nbsp; <input name="cf_cell1" data-required="true" type="text" class="form-text" /> 
       Email <span class="red">*</span>&nbsp; <input name="cf_email1" data-required="true" data-type="email" type="text" class="form-text" /></p> 
       <h2>Driver 2:</h2> 
       Name <span class="red">*</span>&nbsp; <input name="cf_driver2" data-required="true" type="text" class="form-text" /> 
       Cellphone <span class="red">*</span>&nbsp; <input name="cf_cell2" data-required="true" type="text" class="form-text" /> 
       Email <span class="red">*</span>&nbsp; <input name="cf_email2" data-required="true" data-type="email" type="text" class="form-text" /></p> 
       <h2>Driver 3:</h2> 
       Name <span class="red">*</span>&nbsp; <input name="cf_driver3" data-required="true" type="text" class="form-text" /> 
       Cellphone <span class="red">*</span>&nbsp; <input name="cf_cell3" data-required="true" type="text" class="form-text" /> 
       Email <span class="red">*</span>&nbsp; <input name="cf_email3" data-required="true" data-type="email" type="text" class="form-text" /></p> 
       <h2>Driver 4:</h2> 
       Name <span class="red">*</span>&nbsp; <input name="cf_driver4" data-required="true" type="text" class="form-text" /> 
       Cellphone <span class="red">*</span>&nbsp; <input name="cf_cell4" data-required="true" type="text" class="form-text" /> 
       Email <span class="red">*</span>&nbsp; <input name="cf_email4" data-required="true" data-type="email" type="text" class="form-text" /></p> 
       </div> 
      <div class="vertical-space"></div><p><h2>Entry Type<span class="red">*</span></h2></p> 
      <select name="cf_client_type" id="cf_client_type" size="1" class="option2" > 
      <option value="1800: Private">Private</option> 
      <option value="3500: Corporate">Corporate</option> 
      </select> 
      <p>Corporate entries qualify for a tax donation certificate, please enquire via email.</p> 

      <!-- HIDDEN FIELD - HONEYPOT ANTI_SPAM --> 
      <input id="website" class="taken" name="cf_website" type="text" /> 
      <!-- END --> 

      <!-- HIDDEN FIELD - CALCULATION --> 
      <input id="cf_calculate" class="taken" value="1" name="cf_blank" type="text" /> 
      <!-- END --> 

      <div class="box-contact"><span class="result">Amount Due: &nbsp;R</span><input type="text" name="cf_amount" readonly="readonly" value="1800" id="result"> 

      <input name="Submit" class="submit" value="Submit" type="submit" /> 

JAVASCRIPT

$(document).ready(function(){ 
$("select").change(function(){ 
     var val1 = +parseInt($("#cf_client_type").val()); 
     var val2 = +parseInt($("#cf_calculate").val()); 
     $("#result").val(val1*val2); 
}); 

});

+0

你可以简化它+ $(“#cf_client_type”)。val();' – Praveen

回答

1

Here is a fiddle

设置你的选择与data-value为您计算并保持你想传递下去,像这样的文字塔实际value ......

<option value="Private" data-value="1800">Private</option> 
<option value="Corporate" data-value="3500">Corporate</option> 

然后你的脚本可以像这...

$(document).ready(function(){ 

    $("select").change(function(){ 

    var val1 = +parseInt($("#cf_client_type").find('option:selected').attr('data-value')); 
    var val2 = +parseInt($("#cf_calculate").val()); 
    $("#result").val(val1*val2); 

    }); 

}); 
+0

如果我删除了金额,那么计算该值的代码将不会工作.. – user2382274

+0

将数据值添加到输入字段您需要的整数,并将实际表单值保留为所需的文本,并将数据值作为您的计算对象。 – VIDesignz

+0

如数据值=“1800” – VIDesignz

0

在你的代码替换选项值以下

+0

YAMAN

+0

将选项值替换为与我提到的完全相同的值码?? :/ – user2382274