2014-10-23 3 views
0

Хорошо, все, у меня есть несколько вопросов.второй javascript не работает в моей контактной форме

  1. Как у меня всего есть $ и как я могу двигаться вверх рядом со словом Total: (так он будет рядом)

  2. После того, как я получаю общую цену, является есть способ, которым я могу разделить его на 2, чтобы получить 1/2 цены в другое поле под названием «депозит» перед копированием, чтобы добавить в другое поле под названием «остаток»:

  3. Я не могу получить поля даты копия

Следует отметить, что я нашел, как добавить переключатели (Here)

Это то, что у меня есть до сих пор.

Это моя форма:

Session Date: <input type="text" name="field1" id="f1" /> 

Session Type payment : 
<input type="radio" name="sessiontypepayment" id="sessiontypepayment1" value="100.00" onclick="FnCalculate(this,'extrapeople');"> Mini Session $100.00 
<input type="radio" name="sessiontypepayment" id="sessiontypepayment2" value="250.00" onclick="FnCalculate(this,'extrapeople');"> Full Session $250.00 

Extra people : 
<input type="radio" name="extrapeople" id="extrapeople1" value="25.00" onclick="FnCalculate(this,'sessiontypepayment');"> 1 person $25.00 
<input type="radio" name="extrapeople" id="extrapeople2" value="50.00" onclick="FnCalculate(this,'sessiontypepayment');"> 2 people $50.00 
<input type="radio" name="extrapeople" id="extrapeople3" value="75.00" onclick="FnCalculate(this,'sessiontypepayment');"> 3 people $75.00 
<input type="radio" name="extrapeople" id="extrapeople4" value="100.00" onclick="FnCalculate(this,'sessiontypepayment');"> 4 people $100.00 


Total Amount: <div id="total"></div> 

Deposit Amount: 

Balance Amount: 

balance due BY: <input type="text" name="field2" id="f2" /> 

Это мой сценарий, что я до сих пор.

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#f1").keyup(function(){ 
     var f2Text = $('#f2').val() + $(this).val(); 
     $('#f2').val(f2Text); 
     }); 
    }); 
</script> 


<script> 
function FnCalculate(id,name) 
{ 
    var total=0; 
    if(document.getElementById(name+"1").checked == true) 
    { 
     total = parseInt(document.getElementById(name+"1").value); 
    } 
    if(document.getElementById(name+"2").checked == true) 
    { 
     total = parseInt(document.getElementById(name+"1").value); 
    } 
    total = total + parseInt(id.value); 
    document.getElementById("total").innerHTML = total; 
} 
</script> 

Мне очень понравилась бы помощь в этом, пожалуйста.

+0

'уаг f2Text = '$' + ((+ $ ('# f2') Вал()) + (+ $ (это)..val())); ' – PHPglue

+0

Благодарим вас за помощь с полным полем, но могу ли я спросить вас, где разместить его, пожалуйста, я новичок в javascripts. – Anna

+0

Используйте '/ 2', чтобы разделить на два. Обратите внимание, что '.val()' возвращает String, помещая '+' перед строкой, присваивает значение Number в JavaScript. – PHPglue

ответ

0

Во-первых, избавьтесь от всех разрядов onclick="FnCalculate(this,'xx');" на входах.

Затем заменить <script> S с этим:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#f1").keyup(function() { 
      $('#f2').val($(this).val()); 
     }); 
     var inputs = $('input[name="sessiontypepayment"], input[name="extrapeople"]'); 
     $(inputs).click(function() { 
      var total = 0; 
      $(inputs).filter(':checked').each(function() { 
       total = total + parseInt($(this).val()); 
      }) 
      $('#total').html('$' + total); 
      $('#deposit').html('$' + (total/2)); 
     }); 
    }); 
</script> 

Неуверенный, что вы имеете в виду под «как я могу двигаться вверх рядом со словом Total», но я подозреваю, изменение <div id="total"></div> в <span id="total"></span> решит вашу проблему. Или это, или применить некоторые CSS к DIV:

#total { 
    display: inline; 
} 

Я добавил расчет для депозита, вам нужно добавить <div id="deposit"></div> на страницу где-нибудь ...

Вам понадобится JQuery. Добавьте это между <head>...</head>:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

+0

OMG, который сработал! Спасибо Спасибо спасибо! твоя спасательная жизнь. Я потратил свой мозг на две недели, пытаясь понять это. Теперь у меня есть другая проблема, я не знаю, как скопировать это в форму электронной почты, поэтому я получаю ее копию. Еще раз спасибо. – Anna

+0

Несомненно, не проблема :) – rjdown

+0

RJdown вы здесь – Anna

0

Во-первых, вы должны установить значения по умолчанию checked='checked' для переключателей HTML, которые вы хотите проверить первоначально. Я бы поместил текст по умолчанию в <div id='total'>$125.00</div>. Вы также можете использовать jQuery для того, для чего он создан, и не помещать события в ваш HTML. .val() возвращает строку. Чтобы наложить строку на целое число, поставьте + перед ним. Для перевода в плавающую точку Число используется parseFloat().

$(function(){ 
$('#f1,[name=sessiontypepayment],[name=extrapeople]').change(function(){  
    $('#total').text('$'+(parseFloat($('[name=sessiontypepayment]:checked').val())+parseFloat($('[name=extrapeople]:checked').val())).toFixed(2)); 
    $('#f2').val($('#f1').val()); 
}); 
}); 

Чтобы разделить на 2 это /2

Как новичок, вы должны попасть в практику использования внешних <script src так будет кэшироваться в вашем браузере памяти, для ускорения времени загрузки, когда ваш клиент пересмотрит свой сайт ,

+0

Вы проверили это? Есть немало проблем. – rjdown

+0

rjdown да Я тестирую его, я получаю только итоговое значение со сценарием – Anna

Смежные вопросы