【问题标题】:Reset a form in Yii using JS使用 JS 在 Yii 中重置表单
【发布时间】:2014-03-19 07:25:01
【问题描述】:

我尝试使用 jquery 方法。

$('#contact-form')[0].reset();

不工作。

我尝试了以下方法来重置表单。

$form->reset();

它给出了以下错误。

“reset() 只需要 1 个参数,给定 0”

我添加了“form id”来像下面这样重置

$form->reset("contact-form");

它不工作。

提前致谢

【问题讨论】:

  • 查看源码,表单重置设置元素的默认值,不为空。查看默认值。
  • @Sergey 首先感谢。是的,我输入的值在提交后设置为默认值。我使用清空字段值来重置值。

标签: php yii


【解决方案1】:

虽然这是一个旧帖子,但我认为我应该添加一个答案。

Yii2

使用js 时重置表单的最佳方法,例如,如果您通过 ajax 提交表单,并且在收到成功的响应后,您想使用验证消息清除表单,您应该使用 resetFrom 函数Activeform js 如下图

$("#form-id").yiiActiveForm('resetForm');

要从表单输入中删除值,您应该使用以下方式

$("#form-id")[0].reset()

希望这会有所帮助。

【讨论】:

  • @BudiMulyo 使用 select2 或任何类似的 3rd 方插件是一个例外,因为它创建自定义 HTML 来构建 select2,上面的帖子指的是默认表单元素。你可以使用$("#your_select_inpt_id").val('').trigger('change')
【解决方案2】:

最后我重置了表单。发生这种情况是因为在提交表单后,每个字段中的输入值都设置为默认值。要重置字段值,我们需要清空默认值。

例如

<script> 
$(document).ready(function () {
$('#id_of_the_textbox').val("");//using the id of the textbox empty the value.
});
</script>

【讨论】:

  • 我遇到的问题正是“提交后表单值设置为默认值”。你知道我该如何改变这种行为吗?
【解决方案3】:

试试这个

<?php echo CHtml::resetButton('Reset'); ?>

【讨论】:

    【解决方案4】:

    要重置表单试试这个

    $('#contact-form').reset().trigger('reset');// if id of your form is "contact-form"
    

    【讨论】:

    • 我也试过这个。但它不起作用..我还尝试添加一个 html 重置按钮。在我提交表单之前,重置按钮正在工作。当我点击重置按钮时提交后它不起作用..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多