如何使用jQuery提交没有页面重新加载的表单?

时间:2017-01-15 07:41:54

标签: javascript jquery html

<form action="">
    <input type="text" id="id" name="id" value="">
    <input type="password" id="pw" name="pw" value="">
</form>

<script>
    $('#id').val('darth-vader');
    $('#pw').val('i-am-your-father');
    $('form').submit();
</script>

我知道这将是一个非常荒谬的问题,无论如何,我要做的是将id和密码保存到本地存储或javaScript值,然后自动登录。 (没有服务器语言,我只是在客户端制作原型)

当然,avobe页面无限重载,我该如何正确地执行此操作?

3 个答案:

答案 0 :(得分:0)

event.preventDefault();添加到提交功能。请在此处查看详细信息:https://api.jquery.com/submit/

它会停止触发默认事件,如果提交正在重新加载页面。

答案 1 :(得分:0)

您可以: A)处理提交事件并确保返回false B)使用ID'd按钮并将“伪提交”功能绑定到按钮的点击事件。

对于简单的情况,我的个人偏好是B,但使用本机提交事件允许浏览器处理本机验证(例如必需,最大/中长等)。如果您要使用A,则可能返回false或使用event.preventDefault()来停止重新加载页面。如果您使用B,则无需进一步。

答案 2 :(得分:0)

自我回答

问题:

<form action="">
    <input type="text" id="id" name="id" value="">
    <input type="password" id="pw" name="pw" value="">
</form>

<script>
    $('#id').val('darth-vader');
    $('#pw').val('i-am-your-father');
    $('form').submit();

    $('form').submit(function(e){
        e.prenventDefault();
    });
</script>

解决了:

<form action="">
    <input type="text" id="id" name="id" value="">
    <input type="password" id="pw" name="pw" value="">
</form>

<script>
    $('#id').val('darth-vader');
    $('#pw').val('i-am-your-father');

    $('form').submit(function(e){
        e.prenventDefault();
    });

    $('form').submit();


</script>