使用复选框意外更改字段值

Posted

技术标签:

【中文标题】使用复选框意外更改字段值【英文标题】:Filed values changes unexpectedly using checkbox 【发布时间】:2019-03-05 22:23:46 【问题描述】:

我有多个复选框及其字段名称,但我不知道我在哪里做错了字段名称更改我无法找出问题所在。

这是我在复选框值正常时的屏幕截图:here is fine fields working good

这是屏幕截图,有多个问号,例如????这些变得烦人 this fields value are with ???? there should not any question marks in this field

这些复选框的值是我的表单:

                  <form id="preferences_form" role="form" method="POST" novalidate action=" url('/preference') " class="mujucet-registration">
                             csrf_field() 
                            <h5>Nastavení zpráv</h5>
                            <div class="row">
                                <div class="col-md-4">
                                    <div class="checkbox">
                                        <label  for="ch1">
                                            <input type="checkbox" name="monthly" value="1" id="ch1"><span class="cr"><i class="cr-icon fa fa-check"></i></span>Mesícní výpisy
                                        </label>
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="checkbox">
                                        <label >
                                            <input type="checkbox" name="weekly" value="1"><span class="cr"><i class="cr-icon fa fa-check"></i></span>Týdenní prehled
                                        </label>
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="checkbox">
                                        <label>
                                            <input type="checkbox" name="tax_reviews" value="1"><span class="cr"><i class="cr-icon fa fa-check"></i></span>Danové výpisy
                                        </label>
                                    </div>
                                </div>

                                <div class="col-md-4">
                                    <div class="checkbox">
                                        <label>
                                            <input type="checkbox" name="quarterly" value="1"><span class="cr"><i class="cr-icon fa fa-check"></i></span>Ctvrtletní výpisy
                                        </label>
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="checkbox">
                                        <label>
                                            <input type="checkbox" name="annually" value="1"><span class="cr"><i class="cr-icon fa fa-check"></i></span>Rocní výpisy
                                        </label>
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="checkbox">
                                        <label>
                                            <input type="checkbox" name="newsletter" value="1"><span class="cr"><i class="cr-icon fa fa-check"></i></span>Novinky
                                        </label>
                                    </div>
                                </div>

                                <div class="col-md-12">
                                    <div class="checkbox">
                                        <label class="border">
                                            <input type="checkbox" name="direct_mail_reviews" value="1"><span class="cr"><i class="cr-icon fa fa-check"></i></span> Chci výpisy zasílat také Poštou <span class="light">20 kc za výpis</span>
                                        </label>
                                    </div>
                                </div>

                            </div><h5>Kontaktní preference</h5>
                            <div class="row">
                                <div class="col-md-4">
                                    <div class="checkbox">
                                        <label>
                                            <input type="checkbox" name="email" value="1"><span class="cr"><i class="cr-icon fa fa-check"></i></span>Email
                                        </label>
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="checkbox">
                                        <label>
                                            <input type="checkbox" name="sms" value="1"><span class="cr"><i class="cr-icon fa fa-check"></i></span>SMS
                                        </label>
                                    </div>
                                </div>
                            </div>
                        </form>                    </div>

我不知道我的复选框值在这里变得多么奇怪,我们将非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

对我来说,这看起来像是编码问题。确保在两种情况下都使用相同的视图,并且在两种情况下都使用相同的编码(我假设 UTF-8):

<meta charset="utf-8">

在您的 html&lt;head&gt; 部分中。

还要确保文件以与您在上面声明的相同的编码保存。

【讨论】:

任何其他合适的解决方案请我卡在这里 如果您将这些值保存在 HTML 中(您不会从数据库中获取它们),我看不出您没有以有效方式显示它的任何其他原因。 它工作得很好,我正在处理另一项任务,我不知道它是如何改变的 当我在表单的输入类型复选框中添加值和名称属性之后,但如果我删除了值和名称属性,它仍然保持不变 @shahzadshah 但是你确定文件以相同的编码保存吗?编辑器可以将同一文件保存为多种编码,例如 UTF-8、ISO-8859-1 等

以上是关于使用复选框意外更改字段值的主要内容,如果未能解决你的问题,请参考以下文章

如果可以使用复选框更改多行值?

复选框状态更改时如何更新mysql字段?使用 jquery (ajax)、php 和 mysql

当对象中的字段发生更改时如何从 v-model 数组中删除对象

当我选中/取消选中复选框时 Cookie 值更改

根据复选框值操作日期选择器天数

尝试根据 Razor 页面上的复选框值更改 <td> 背景颜色