Здравствуйте, обычно это работает в другом месте, но этот конкретный пост AJAX Post protectDefault () не работает для меня.
Я получаю какое-то значение динамически, я устанавливаю это значение в скрытые поля формы и затем запускаю сообщение Ajax Post другомуМАРШРУТ.
Ниже приведена часть кода, для которой мне нужна помощь или помощь.
<!--Init_Form_ST-->
<div style="display:none;">
<form id="frm_init" name="frm_init" action="{{ route('init_message') }}" method="POST" >
{{ csrf_field() }}
{{ method_field('POST') }}
<input type="hidden" name="init_messageType" id="init_messageType" value="chatMessage" >
<input type="hidden" name="init_idempotencyid" id="init_idempotencyid" value="" >
<input type="hidden" name="init_receveruserid" id="init_receveruserid" value="" >
<input type="hidden" name="init_lang" id="init_lang" value="" >
<?php /*?><input type="submit" name="init_submit" id="init_submit" value="init_sub" ><?php */?>
<button type="submit" name="init_submit" id="init_submit" ></button>
</form>
</div>
<!--Init_Form_EN-->
Я пытался разными способами предотвратить отправку формы и перейти на другую страницу.
alert("1st Alert - Before Click Trigger");
$("#init_submit").trigger('click');
alert("2nd Alert - After Click Trigger");
$("#frm_init").on('submit', function(event) {
event.preventDefault();
alert("3rd Alert - Into submit"); // <== It never comes here
var init_formdata = new FormData(this);
var init_msg_route = "{{ route('init_message') }}";
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url: init_msg_route,
dataType: 'json',
cache: false,
async: false,
type: "POST",
data: init_formdata,
contentType: false,
processData: false,
success: function(result) {
alert("Success");
},
error: function(jqxhr, status, exception) {
alert('Exception:', exception);
}
});
});
указатель Переход к 1-е оповещение и ожидание нажатия кнопки.После этого указатель показывает 2nd Alert , но без ожидания страница переходит к пути маршрута.
Я даже протестировал, удалив весь код Ajax.Но 3-е предупреждение никогда не срабатывает
Я уже тестировал следующие параметры
// $("#frm_init").submit(function(event){
// $(document).on("submit","frm_init", function(event) {
// $(document).on("click","#init_submit", function(event) {
// $("#init_submit").click(function(event){