【问题标题】:second javascript not working on my contact form第二个 javascript 在我的联系表单上不起作用
【发布时间】:2014-10-30 05:15:26
【问题描述】:

好的,我有几个问题。

  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>

我真的很想在这方面提供帮助。

【问题讨论】:

  • var f2Text = '$'+((+$('#f2').val())+(+$(this).val()));
  • 感谢您对总字段的帮助,但请问我将它放在哪里,我是javascripts的新手。
  • 使用/2 除以二。请注意,.val() 返回一个字符串,将 + 放在字符串前面会将其转换为 JavaScript 中的数字。
  • 你能告诉我把它们放在哪里吗?
  • 等等,我没有看到你所有的问题或你的目标。

标签: javascript function contact-form-7


【解决方案1】:

首先,删除输入中的所有 onclick="FnCalculate(this,'xx');" 位。

然后用这个替换你的&lt;script&gt;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 一词旁边向上移动”是什么意思,但我怀疑将 &lt;div id="total"&gt;&lt;/div&gt; 更改为 &lt;span id="total"&gt;&lt;/span&gt; 将解决您的问题。要么,要么对 div 应用一些 css:

#total {
    display: inline;
}

我添加了存款的计算,您需要将&lt;div id="deposit"&gt;&lt;/div&gt; 添加到您的页面某处...

您将需要 jquery。在&lt;head&gt;...&lt;/head&gt;之间添加这个:

&lt;script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"&gt;&lt;/script&gt;

【讨论】:

  • 天哪,成功了!谢谢你,谢谢你,谢谢你!你的救命稻草我绞尽脑汁想了两个星期想弄清楚这一点。现在我有另一个问题,我不知道如何将它复制到电子邮件表单中,所以我得到了它的副本。再次感谢您。
  • 我要睡觉了... wazzup
  • 我又需要帮助了,如果你要去睡觉,我可以等到明天
  • 这个评论太长了,最好提出一个新问题,如果到那时没有人帮助你,我明天会找到它!
  • 我不能它不会让我,但我已经切换到另一个我有,称为(单选按钮复制到文本字段的值)我将在明天美国东部时间下午 5 点左右回家
【解决方案2】:

首先,您应该将您最初想要检查的 HTML 单选按钮的默认值设置为 checked='checked'。我也会将默认文本放入&lt;div id='total'&gt;$125.00&lt;/div&gt;。您不妨将 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

作为新手,您应该练习使用外部&lt;script src,以便将其缓存到您的浏览器内存中,以便在您的客户重新访问您的网站时加快加载速度。

【讨论】:

  • 你测试过这个吗?有很多问题。
  • rjdown 是的,我测试了它,我只用我拥有的脚本得到总数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-27
  • 1970-01-01
  • 2021-06-12
  • 2013-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多