提交表单后如何停止重定向?

时间:2010-04-14 18:02:28

标签: ajax forms redirect

几小时前我在这里发布了一个类似的问题,刚才我得到的答案是我应该用AJAX来做这件事。由于我今天要完成网站的这一部分,我现在无法从基础知识中学习AJAX。这应该不是什么难事而且我认为我能做到这一点但是我是不够熟练......

我有一个表单,当您点击提交时,它会发布到twitter.com/statuses/update.xml,我需要能够这样做,而不会被重定向到那里。

有一种简单的方法可以做到这一点还是我需要学习AJAX?

感谢任何答案..!

编辑:

我正在使用此提交:

$(function() {  
    $("#skikka").click(function() {  
        var dendar = 
            "http://" + 
            $("#usernam").val() + ":" + $("#passwo").val() +
            "@twitter.com/statuses/update.xml";

        $("#formen").attr("action", dendar);
        $("#formen").submit();
        alert(dendar);
        return false;

    });  
});

5 个答案:

答案 0 :(得分:2)

这是一个使用JQuery的简单示例,这可能是最简单的方法来进行AJAX,而无需投入太多时间学习它。虽然听起来你必须学习其他技术(Jquery),但实际上并不难。大多数情况下,它只涉及向页面添加一个javascript包含文件引用。

    $.post(dendar , $("#formen").serialize());

有关使用Jquery here的AJAX的更多详细信息。

由于您要回发到其他域,因此您将需要做一些额外的工作。查看using JSONP against twitter上的这篇文章。

此外,这是一个JQUERY插件专门用于对抗twitter:jTwitter

答案 1 :(得分:0)

您可以使用type =“button”而不是type =“submit”。

答案 2 :(得分:0)

只需在服务器端脚本中重定向回您的页面即可。你用的是哪种语言?

答案 3 :(得分:0)

// post via ajax
$.post(dender, $("#formen").serialize());

完整示例:

$(function() {
$("#skikka").click(function() {
var dendar = "http://" + $("#usernam").val() + ":" + $("#passwo").val() + "@twitter.com/statuses/update.xml";

// post via ajax
$.post(dender, $("#formen").serialize()); 

alert(dendar); return false;

});
});

答案 4 :(得分:0)

如果你必须这样做(通过点击事件而不仅仅让服务器发送重定向),你可以将onSubmit事件添加到通过ajax处理实际提交的表单,然后取消事件传播。

Event.observe( 
  $('searchfield').form , 
  'submit' , 
  function( e ){ 
    alert('No YOU' ); 
    /* secretly submit using ajax and clear form */ ; 
    Event.stop( e ) ;
  });

类似的东西。