Если $ jQuery (форма) .submit (); не инициировали onSubmit в теге form?

вы можете просто использовать этот lib для упрощения реализации цели копирования!

https://clipboardjs.com/

Копирование текста в буфер обмена не должно быть сложно. Он не должен требовать десятков шагов для настройки или загрузки сотен KB. Но больше всего это не должно зависеть от Flash или любой раздутой структуры.

Вот почему clipboard.js существует.

blockquote>

или

https://github.com/zeroclipboard/zeroclipboard

http://zeroclipboard.org/

Библиотека ZeroClipboard предоставляет простой способ скопировать текст в буфер обмена с использованием невидимого фильма Adobe Flash и интерфейса JavaScript.

blockquote>

38
задан Darryl Hein 15 March 2009 в 04:12
поделиться

4 ответа

Извините, неправильно понятый Ваш вопрос.

Согласно JavaScript - получающий onsubmit при вызове form.submit () :

меня недавно спросили: "Почему form.onsubmit событие не становится запущенным, когда я отправляю свою форму с помощью JavaScript?"

ответ: Текущие браузеры не придерживаются этой части спецификации HTML. Событие только стреляет, когда оно активируется пользователем - и не стреляет при активации кодом.

(добавленный акцент).

Примечание: "активированный пользователем" также включает совершающие нападки кнопки отправки (вероятно, включая значение по умолчанию, отправляют поведение от клавиши Enter, но я не попробовал это). Ни, я верю, делает это инициировано (с кодом) при нажатии на кнопку отправки.

51
ответ дан mems 7 July 2019 в 03:18
поделиться

Попытайтесь инициировать () событие в своей функции:

$("form").trigger('submit'); // and then... do submit()
1
ответ дан Sergei 7 July 2019 в 03:18
поделиться

Я нашел этот сервал вопросов много лет назад.

Недавно я попытался «переписать» метод отправки. ниже мой код

window.onload= function (){
for(var i= 0;i<document.forms.length;i++){
    (function (p){
        var form= document.forms[i];
        var originFn= form.submit;
        form.submit=function (){
            //do something you like
            alert("submitting "+form.id+" using submit method !");
            originFn();
        }
        form.onsubmit= function (){
            alert("submitting "+form.id+" with onsubmit event !");
        }
    })(i);


}

}

<form method="get" action="" id="form1">
<input type="submit" value="提交form1" />
<input type="button" name="" id="" value="button模拟提交1" onclick="document.forms[0].submit();" /></form>

Он работал в IE, но не работал в других браузерах по той же причине, что и "cletus"

0
ответ дан 27 November 2019 в 02:19
поделиться

Мое простое решение:

$("form").children('input[type="submit"]').click();

Это работает для меня.

6
ответ дан 27 November 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: