【问题标题】:jQuery selector updated values get reset when posting form - how to prevent?发布表单时,jQuery 选择器更新的值会被重置 - 如何防止?
【发布时间】:2011-03-21 06:09:19
【问题描述】:

我有一个由复选框、选择框等组成的 HTML 表单,每个表单都有一个数值,我使用 jQuery 选择器将总数相加,并在单独的 div 中显示数字。这是一个:

    <label for="OptionalExtra">
        <p><input name="OptionalExtra" type="checkbox" class="calc" value="200" /> Add £200</p>
    </label>

然后我使用 :checked 选择器循环遍历它们,将总数加起来。

    $('label').change(function() {
        var total = 0;
        $('.calc:checked').each(function() {
            total += parseInt($(this).val());
        });
    });

然后我可以在其他地方显示这个总数。

但是,当我提交表单时,保存我计算值的 div 仍然存在(我确实想要这个),但是值重置(我不想要这个 - 我需要它来显示之前计算的值)。

当然,我知道为什么会这样,但我不知道如何阻止它!

请帮忙。

【问题讨论】:

    标签: jquery forms submit selector reset


    【解决方案1】:

    如果你知道为什么,为什么会发生呢?

    是输入 type=submit 的完整提交,还是 $.post() 的 ajax 提交?

    这听起来像是一个完整的提交 - 这意味着您的整个页面都从服务器重新发送,并且您计算的 div 将恢复到它的原始值。

    【讨论】:

    • 恕我直言,这应该更像是一个评论而不是一个答案
    • 这是一个完整的提交,是的。你能向我解释如何改变这个吗?问题是我已经有一个我正在使用的 CMS 的 php 模块,它处理表单,将行插入数据库,进行所有验证,并在提交表单时自动将电子邮件发送给不同的人。我使用的模块确实对流程逻辑有非常强大的控制,这意味着我可以在提交表单的各个点使用我自己的函数。例如。验证后,发送电子邮件前等
    猜你喜欢
    • 2022-12-13
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多