Функция запуска при нажатии кнопки, но перед отправкой - PullRequest
0 голосов
/ 22 января 2019

Перед отправкой я заменяю содержимое одного редактора wysiwyg другим.Я делал это, оборачивая кнопку отправки в div и используя событие mouseenter для его запуска.

<div id="moveit">
<input type="button" name="sq_commit_button" id="sq_commit_button" value="Commit" accesskey="s" class="sq-form-field sq-btn-large sq-btn-green sq-commit-button" onclick="if (submit_form) { submit_form(this.form); } else { this.form.submit(); this.disabled = 'disabled';}  ">
</div>

и

jQuery('#moveit').mouseenter(function() {
    jQuery('#news_item_0_1162_wysiwyg_div #htmlarea iframe').contents().find('html').html(jQuery('#cke_1_contents iframe').contents().find('html body').html());
});

Пока это работает просто отлично, ноэто ни в коем случае не долгосрочное решение.Есть ли способ выполнить функцию при нажатии кнопки, но перед ее отправкой, чтобы можно было скопировать содержимое?

Я пытался использовать функцию onsubmit, но когда я смотрю, редактор wysiwyg непохоже, состоит из каких-либо элементов формы.

$('#myform').submit(function() {
  // your code here
});

Единственный экземпляр формы на странице выглядит следующим образом, и я безуспешно попробовал следующий идентификатор и имя формы в функции onsubmit.

<form id="page_asset_builder_1427599" name="main_form" method="post" action="http://example.com/builder/_nocache?" enctype="multipart/form-data" onsubmit="return form_on_submit()">

Кто-нибудь может подсказать, как я мог это сделать?Или я должен просто придерживаться метода мышиного ввода и попытаться забыть об этом

Большое спасибо!

1 Ответ

0 голосов
/ 22 января 2019

попробуйте удалить онклик с вашей кнопки и использовать этот jquery.Предполагается, что ваша кнопка имеет вид.

$(document).on("click","#sq_commit_button",function() {
  // your pre submit code here
  $(this).parents("form").submit();
});
...