实现表单input值改变自动提交,不刷新当前页面,有回调(以在线作业每道题完成后自动提交为例)

 <form action="/user/saveAnswer" target="frame_problemhandler">
                <span><p>1.下列语句中,将c定义为文件型指针的是( )</p></span>
                <div><label><input type="radio" name="answer" onchange="submit(this)" value="A"><span> FILE c;    </span></label></div>
                <div><label><input type="radio" name="answer" onchange="submit(this)" value="B"><span> file c;  </span></label></div>
                <div><label><input type="radio" name="answer" onchange="submit(this)" value="C"><span> FILE C;  </span></label></div>
                <div><label><input type="radio" name="answer" onchange="submit(this)" value="D"><span> FILE *c; </span></label></div>
                <input class="hidden" name="problemId" value="0999030ec3604fc891e74c32f7818c92">
                <input class="hidden" name="homeworkId" value="5eb1d7c4f15347ca8df33d797f4dd0ee">
                <div class="red" id="saveTip0999030ec3604fc891e74c32f7818c92"></div>
            </form>


<iframe name="frame_problemhandler" frameBorder="0" height="0" marginHeight="0" marginWidth="0" width="0"></iframe>


HTML 即正常的一个form表单 写上action ,注意:这里的target即为iframe的name 可以实现将表单的提交结果显示在iframe内,也实现了表单提交不刷新当前页面

$("input").bind('input propertychange',function(){
        setTimeout(function () {
            var iframeObj = $(window.frames["frame_problemhandler"].document);
            var val=iframeObj.find("body").html();
            console.log(val) //<pre style="word-wrap: break-word; white-space: pre-wrap;">{"code":1,"message":"ok","time":"2020-03-26 14:36:28","result":"0999030ec3604fc891e74c32f7818c92"}</pre>
            var start = val.indexOf("result")+9;
            var id = val.substring(start,start+32)
            $("#saveTip"+id)[0].innerHTML="答案保存成功!";
        },1000)
    });

js用jquery监听input的值变化事件,设置一个延迟获取iframe里的回调内容

实现效果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿S先森丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值