【问题标题】:Form with jquery no want works带有jquery的表单不需要工作
【发布时间】:2013-07-23 13:37:27
【问题描述】:

我尝试了一次又一次,但最终没有得到使用 jquery 和 json 的表单:

<script>
var idcc="<?php echo $tfw_number_format;?>";
</script>


<script>
$('#contact-form-widget-'+idcc).on('submit',function () {
    $.ajax({
        url: '<?php echo $phpValidate;?>',
        cache: false,
        type: 'POST',
        data : $('#contact-form-widget-'+idcc).serialize(),
        success: function(json) {
            alert('all done');
        }
    });
});
</script>


<form id="contact-form-widget-<?php echo $tfw_number_format;?>" class="contact-form-widget" method="post" action="">
    <input type="text" name="" value="" class="contact_text">
    <input class="contact_rapid_boton" type="submit" value="Send">
</form>

问题是当我按下按钮时总是转到其他页面,没有停留和工作,不知道有什么坏处,因为我看到一切正常但确定有些东西根本不工作

【问题讨论】:

  • 你忘记准备文件了!
  • 并防止默认操作
  • 你是否包含了 jquery 框架?尝试有一个警告框。
  • 是的,我一直在重新加载其他页面,验证页面

标签: jquery ajax json forms


【解决方案1】:

包含 jQuery,使用 DOM 就绪处理程序,并防止表单提交和重新加载页面:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

<script type="text/javascript">
    var idcc = "<?php echo $tfw_number_format;?>";
    $(function() {
        $('#contact-form-widget-'+idcc).on('submit', function(e) {
            e.preventDefault();
            $.ajax({
                url  : '<?php echo $phpValidate;?>',
                type : 'POST',
                data : $('#contact-form-widget-'+idcc).serialize(),
                success: function(json) {
                    alert('all done');
                }
            });
        });
    });
</script>

<form id="contact-form-widget-<?php echo $tfw_number_format;?>" class="contact-form-widget" method="post" action=""></form>

【讨论】:

  • 继续向我发送其他页面以进行验证,一直重新加载,我没有工作..... :(
  • 它应该可以正常工作 -> jsfiddle.net/Zevd4 ,这意味着您可能从 PHP 中回显了一些无效的内容,这对我来说是不可能测试的?
【解决方案2】:

使用event.preventDefault()

<script type="text/javascript">
$('#contact-form-widget-'+idcc).on('submit',function (event) {

    event.preventDefault();

    $.ajax({
        url: '<?php echo $phpValidate;?>',
        cache: false,
        type: 'POST',
        data : $('#contact-form-widget-'+idcc).serialize(),
        success: function(json) {
            alert('all done');
        }
    });
});
</script>

【讨论】:

    猜你喜欢
    • 2018-12-08
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 2013-01-29
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多