为了账号安全,请及时绑定邮箱和手机立即绑定

通过ajax提交表单时启用浏览器自动完成

通过ajax提交表单时启用浏览器自动完成

潇湘沐 2021-12-23 15:49:09
谷歌搜索一段时间后,我找不到解决我问题的好答案。我有一个使用模态窗口(例如引导框)显示的表单。此表单使用ajax post 提交,但浏览器无法存储输入值(自动完成),以便在再次显示此表单时显示这些值。function openModal(view) {  var buttons = {};  buttons.success = {    label: "Salvar",    className: "btn-primary",    callback: function() {      var $form = box.find("form");      var valuesToSubmit = $form.serialize();      $.ajax({        type: "POST",        url: $form.attr('action'),        data: valuesToSubmit,        dataType: "json"      }).success(function(response) {        box.modal('hide');        if (successCallback) {          successCallback();        }      }).error(function(response) {        box.find(".modal-body").html(response.responseText);        enableBasicControls(box);        if (errorCallback) {          errorCallback();        }      });      return false;    }  };  buttons.danger = {    label: "Cancelar",    className: "btn-danger"  };  box = bootbox.dialog({    title: title,    animate: false,    message: view,    onEscape: function() {},    buttons: buttons,    size: "large"  });}<form asp-action="Create">    <input asp-for="Id" type="hidden" />    <input asp-for="ConsultaId" type="hidden" />    <div class="row">        <input data-focus="true" data-select="true" class="form-control" type="number" data-val="true" data-val-required="The QtdEmbalagens field is required." id="QtdEmbalagens" name="QtdEmbalagens" value="1">            </div>    <div class="row">        <input rows="4" class="form-control" type="text" id="Observacao" name="Observacao" value="">    </div></form>
查看完整描述

1 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

我使用 iframe 解决了提交到虚假页面的问题:


<iframe name="myframe" id="frame1" src="Create" style="display: none;"></iframe>


<form asp-action="Create" target="myframe">

    <input asp-for="Id" type="hidden" />

....



function openModal(view) {

    var buttons = {};

    buttons.success = {

        label: "Salvar",

        className: "btn-primary",

        callback: function () {

            var $form = box.find("form");

            var  url = $form.attr('action');

            $form.attr('action', "about:blank");

            $form.submit();//======================== fake


            var valuesToSubmit = $form.serialize();

            $.ajax({

                type: "POST",

                url: url, //sumbits it to the given url of the form

                data: valuesToSubmit,

                dataType: "json"

            ...


查看完整回答
反对 回复 2021-12-23
  • 1 回答
  • 0 关注
  • 182 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号