Javascript 为什么即使设置了操作URL,表单仍会被发布到错误的URL?

Javascript 为什么即使设置了操作URL,表单仍会被发布到错误的URL?,javascript,php,jquery,forms,laravel,Javascript,Php,Jquery,Forms,Laravel,更新:请参见,表单正在提交,但URL错误!如果您是来教如何根据用户的操作设置属性的,请不要试图帮助,因为我知道这张表 我正在处理Laravel,我有一个表单和两个提交按钮。我想根据用户点击的按钮提交表单 我已经试过编辑按钮标签,几乎做了其他答案中给出的所有事情,但似乎没有任何效果 这是表格代码 <form method="POST" class="form-material" id="form1"> {{ csrf_field() }} <div class

更新:请参见,表单正在提交,但URL错误!如果您是来教如何根据用户的操作设置属性的,请不要试图帮助,因为我知道这张表

我正在处理Laravel,我有一个表单和两个提交按钮。我想根据用户点击的按钮提交表单

我已经试过编辑按钮标签,几乎做了其他答案中给出的所有事情,但似乎没有任何效果

这是表格代码

<form method="POST" class="form-material" id="form1">
     {{ csrf_field() }}
     <div class="form-group">
         <input type="email" id="email" name="email" class="form-control" placeholder="E-mail Address" required/>
     </div>
     <div class="form-group">
         <input name="password" id="password" type="password" class="form-control" placeholder="Password" required/>
     </div>
     <div class="form-group actionButtons">
         <p data-action="form1Register" class="btn btn-md btn-info actionButton">Create Account</p>
         <p data-action="form1Login" class="btn btn-md btn-outline-info hidden-md-down actionButton">Login</p><br>
         <small>By Signing up, You agree to <a href="{{ url('tos') }}" target="_blank">Terms of Service</a>.</small>
     </div>
</form>
我没有使用
标记,因为它提交表单,我想没有办法阻止它。我已经试过给它一个
type='button'
属性,但它也不起作用!它仍然提交了一份奇怪的表格

我有什么遗漏吗?因为我在另一个系统上使用了相同的东西,但是它在那里工作得很好

$(".actionButton").click(function(e) {
    e.preventDefault();
    if($(this).data('action') == 'form1Login'){
        $('#form1').attr('action','{{ action("SessionController@store") }}');
        $('#form1').submit();
    } else if($(this).data('action') == 'form1Register') {
        $('#form1').attr('action','{{ action("UserController@store") }}');
        $('#form1').submit();
    } else {
        alert('Oops! Something went really wrong!');
    }
});
//您应该阻止操作按钮的默认操作

//您应该防止操作按钮的默认操作

已解决

Laravel用户的特别注意事项

表单正在提交到正确的URL。但当我使用laravel的默认验证器时,它将我重定向回表单所在的URL

因此,如果您是laravel用户,并且希望将表单提交到不同的URL,请创建自己的自定义验证器,以便可以重定向回不同的URL

谢谢大家帮我解决这个问题

解决了

Laravel用户的特别注意事项

表单正在提交到正确的URL。但当我使用laravel的默认验证器时,它将我重定向回表单所在的URL

因此,如果您是laravel用户,并且希望将表单提交到不同的URL,请创建自己的自定义验证器,以便可以重定向回不同的URL


谢谢大家帮我解决这个问题

@tkausl可能重复,请重新阅读问题。这不是什么奇怪的获取和发布方法!这是关于两个完全不同的操作URL和相同的方法。答案确实回答了您的问题。@tkausl,请不要对任何有关阅读的问题发表评论或采取行动。你怎么知道它会起作用。你确定吗?@tkausl,我知道如何根据用户的动作设置属性!当我提醒动作URL时,它会显示我想要发布数据的URL!但它并没有向那个URL提交数据!页面正在重新加载!@tkausl可能重复,请重新阅读问题。这不是什么奇怪的获取和发布方法!这是关于两个完全不同的操作URL和相同的方法。答案确实回答了您的问题。@tkausl,请不要对任何有关阅读的问题发表评论或采取行动。你怎么知道它会起作用。你确定吗?@tkausl,我知道如何根据用户的动作设置属性!当我提醒动作URL时,它会显示我想要发布数据的URL!但它并没有向那个URL提交数据!页面正在重新加载!感谢兄弟的帮助,但是表单仍然没有提交到
注册
登录
URL。它正在被重定向到自身,不知道如何!感谢兄弟的帮助,但是表单仍然没有提交到
注册
登录
URL。它正在被重定向到自身,不知道如何!
$(".actionButton").click(function(e) {
    e.preventDefault();
    if($(this).data('action') == 'form1Login'){
        $('#form1').attr('action','{{ action("SessionController@store") }}');
        $('#form1').submit();
    } else if($(this).data('action') == 'form1Register') {
        $('#form1').attr('action','{{ action("UserController@store") }}');
        $('#form1').submit();
    } else {
        alert('Oops! Something went really wrong!');
    }
});