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

问题描述 投票:0回答:2

更新:请参阅,表单已提交,但网址错误!如果您在这里教授如何根据用户的动作设置属性,请不要尝试帮助,因为我知道那张表!

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

我已经尝试过编辑Button标签,并且几乎完成了其他答案所提供的所有内容,但似乎没有任何效果!

这是表单代码。

<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>

是的,这是我试图实现的Jquery的一点。

$(".actionButton").click(function() {
    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!');
    }
});

我没有使用<button>标签,因为它提交表单,我认为没有办法阻止它。我已经尝试过给它一个type='button'属性,但它也没有用!它仍然提出了怪异的形式!

有什么我想念的吗?因为我在其他系统上使用相同的东西,但它在那里工作正常!

javascript php jquery forms laravel
2个回答
2
投票
$(".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!');
    }
});

//你应该阻止动作按钮的默认动作


0
投票

解决了!

Laravel用户特别注意事项!

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

因此,如果您是laravel用户并且想要将表单提交到不同的URL,请创建自己的自定义Validator,以便您可以重定向回某个不同的URL。

谢谢大家帮我解决问题!

© www.soinside.com 2019 - 2024. All rights reserved.