我有一个标准的重置按钮的形式编码如下:

<input type="reset" class="button standard" value="Clear" />

问题是,所述表单是多阶段排序的,所以如果用户填写了一个阶段,然后稍后返回,当单击Clear按钮时,各个字段的“记住”值不会重置。

我在想,附加一个jQuery函数循环所有的字段和清除他们'手动'将做的技巧。我已经在使用jQuery的形式,但我只是刚刚赶上速度&所以我不知道如何做到这一点,除了单独引用每个字段的ID,这似乎不是很有效。

请TIA帮忙。


当前回答

Paolo的回答没有考虑日期选择器,添加这个:

$form.find('input[type="date"]').val('');

其他回答

$(this).closest('form').find('input,textarea,select').not(':image').prop('disabled', true);

简单地使用jQuery触发器事件,如下所示:

$('form').trigger("reset");

这将重置复选框,单选按钮,文本框等…本质上,它会将表单转换为默认状态。简单地把#ID, Class,元素放在jQuery选择器中。

我只是PHP的中级水平,有点懒于钻研像JQuery这样的新语言,但下面不是一个简单而优雅的解决方案吗?

<input name="Submit1" type="submit" value="Get free quote" />
<input name="submitreset" type="submit" value="Reset" />

不知道为什么不设置两个提交按钮,只是目的不同而已。 然后简单的:

if ($_POST['submitreset']=="Reset") {
$_source = "--Choose language from--";
$_target = "--Choose language to--"; }

你只需要重新定义你的值回到默认值。

<script type="text/javascript">
$("#edit_name").val('default value');
$("#edit_url").val('default value');
$("#edit_priority").val('default value');
$("#edit_description").val('default value');
$("#edit_icon_url option:selected").removeAttr("selected");
</script>

补充接受的答案,如果你使用SELECT2插件,你需要召回SELECT2脚本来更改所有的SELECT2字段:

function resetForm(formId){
        $('#'+formId).find('input:text, input:password, input:file, select, select2, textarea').val('');
        $('#'+formId).find('input:radio, input:checkbox').removeAttr('checked').removeAttr('selected');
        $('.select2').select2();
    }