更新:请参阅,表单已提交,但网址错误!如果您在这里教授如何根据用户的动作设置属性,请不要尝试提供帮助,因为我知道该表!
我正在 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>
是的,这是我想要实现的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'
属性,但它也没有用!它仍然提出了怪异的形式!
我有什么遗漏的吗?因为我在其他系统上使用相同的东西,但它在那里工作正常!
答案 0 :(得分: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!');
}
});
//你应该阻止动作按钮的默认动作
答案 1 :(得分:0)
解决!
Laravel用户特别注意事项!
表单已提交到正确的URL。但是当我使用 laravel的默认验证器时,它将我重定向回到表单所在的URL。
因此,如果您是laravel用户并希望将表单提交到不同的URL,请创建自己的自定义Validator,以便您可以重定向回某个不同的URL。
感谢大家帮我解决问题!