繁体   English   中英

带有e.preventDefault()的Javascript onchange =“ this.form.submit()”

[英]Javascript onchange=“this.form.submit()” with e.preventDefault()

我当天早些时候在e.preventDefault()方法周围寻求帮助。

HTML5表单提交

我在选择要使用“ onchange =”的方法时遇到麻烦。

听说由于firefox和IE10 +中的浏览器问题,我不应该使用onchange。 我发现以下链接可提供大量信息,但对我来说可能太多了。 帮助解密将不胜感激。 链接和代码如下。

Javascript选择onchange ='this.form.submit()'

这是我目前的尝试。 想法是有几个滑块,当用户释放滑块时可以发送其值。 这是一个好主意还是我应该在一次“提交”中将其全部而不是单独进行? 欢迎任何意见。

<form method="POST" action="http://192.168.0.1/" clas="ajax">
  <table style="width:100%">
   <input type="range" name="thisguy" onchange="this.form.submit()" value="0" min="0" max="100" step="10" data-highlight="true">
</form> 

但是,此方法绕过了通常会在关闭“提交”按钮之前在执行“提交”操作时执行的javascript。

    <script language="javascript" type="text/javascript">
    $('form').on('submit', function(e) {
        try {
        event.preventDefault(); //Prevent form submission
        var that = $(this),
            url = that.attr('action'),
            method = that.attr('method'),
            data = {};

        that.find('[name]').each(function() {
            var that = $(this),
                name = that.attr('name'),
                value = that.val();
            data[name] = value;

            $.ajax({
                url: url,
                type: method,
                data: data,
                success: function(response) {
                window.location.reload();
                }

            });

        });
        }
        catch (err) {
            console.log ('submit handler error: ' + err.message );
            }
        return false;
    });
    </script>

任何建议以哪种可能的方式来解决此问题或有用的评论都将有所帮助! 先感谢您。

class="ajax"

将一个类或ID添加到窗体。

onchange="$('.ajax').submit();"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM