8

ユーザーが記入する段階的なフォームを作成するために、jQuery の手順 ( https://github.com/rstaib/jquery-steps/wiki ) を使用しています。それはうまく機能しますが、リセットできるようにする必要があります。ユーザーがフォームを送信したら (ページが更新されないように ajax を使用)、ユーザーに新しいウィザードを表示したいと思います。

ウィザードをリセットする方法はありますか? それとも、ページをリロードせずにリロードしますか?

4

6 に答える 6

1

jQuery Form Pluginを使用できます。フォーム のリセットまたはクリアは非常に簡単です

$('#myFormId').resetForm();

または

$('#myFormId').clearForm();

または特別なフィールドのみ

$('#myFormId .specialFields').clearFields();
于 2014-04-22T12:42:26.530 に答える
0
You can user this function after submitting your form:

function resetForm(id_form){
    $("#" + id_form).find('input[type="text"]').val('');
    $("#" + id_form).find('input[type="password"]').val('');
    $("#" + id_form).find('input[type="checkbox"]').removeAttr("checked");
    $("#" + id_form).find('select option').removeAttr("selected");
    $("#" + id_form).find('textarea').val('');
}

Best regards!
于 2014-04-22T08:35:43.470 に答える
0

これを貼り付けることができます:

$.fn.steps.reset = function () {
  var wizard = this,
  options = getOptions(this),
  state = getState(this);
  goToStep(wizard, options, state, 0);

  for (i = 1; i < state.stepCount; i++) {
    var stepAnchor = getStepAnchor(wizard, i);
    stepAnchor.parent().removeClass("done")._enableAria(false);
  }
};

このコードの直後の jquery.steps.js ファイル内:

$.fn.steps = function (method)
{
    if ($.fn.steps[method])
    {
        return $.fn.steps[method].apply(this, Array.prototype.slice.call(arguments, 1));
    }
    else if (typeof method === "object" || !method)
    {
        return initialize.apply(this, arguments);
    }
    else
    {
        $.error("Method " + method + " does not exist on jQuery.steps");
    }
};

好きな場所で次のように呼び出します。 $('myjquerystepmodal').steps("reset");

于 2019-02-21T12:59:28.630 に答える