Нажатие кнопки Fire через JavaScript

Невозможно выполнить эту работу. Если внешний домен, к которому вы пытаетесь получить доступ, поддерживает такую ​​процедуру, как CORS , JSONP или postMessage .

несколько исключений (как всегда):

Если вы имеете дело с WebApp, например, вы можете сообщить своим пользователям, что они должны предоставить доступ к cross-domain-calls.

В Gecko / Firefox, например, вы можете вызвать

netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead')

, что позволяет браузеру получать доступ к иностранным доменам через ajax/iframes. В этом случае пользователь должен установить

signed.applets.codebase_principal_support

на true в разделе about:config, чтобы сделать эту работу.

В Internet Explorers этого мира есть (f10), который должен быть установлен на enable.

Chrome разрешает междоменные вызовы с аргументом командной строки:

chrome.exe --disable-web-security

0
задан Nick 1 March 2019 в 13:22
поделиться

2 ответа

Вам может потребоваться добавить e.preventDefault();

var $myForm = $('#my-form');
$('#button-fake').on('click', function(e) {
  e.preventDefault();
  console.log("FAKE CLICKED");
  if ($myForm[0].checkValidity()) {
    console.log("FORM VALID");
    $('#button-real').click();
    console.log("FORM SUBMITTED");
  }
});

$('#button-real').on('click', function(e) {
  console.log('button-real clicked')

})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id='my-form'>
  <input type='text' required>
  <button type='submit' id='button-fake'>Submit</button>
  <button type='button' id='button-real'>Real</button>

</form>

0
ответ дан brk 1 March 2019 в 13:22
поделиться

Кнопка запускает отправку формы. Форма отправки перезагрузит страницу. Чтобы предотвратить это, вызовите protectDefault ().

$( 'document' ).ready( function() {
        var $myForm = $('#my-form');
        $('#button-fake').on('click', function(e){
                e.preventDefault(); // <- This
                console.log("FAKE CLICKED");
                if ($myForm[0].checkValidity()){
                        console.log("FORM VALID");
                        $('#button-real').click();
                        console.log("FORM SUBMITTED");
                }
        });              
});
0
ответ дан JensV 1 March 2019 в 13:22
поделиться
Другие вопросы по тегам:

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