Не работает click()

Тема в разделе "JavaScript", создана пользователем dofus, 13 ноя 2014.

  1. dofus

    dofus

    Регистрация:
    21 апр 2013
    Сообщения:
    140
    Симпатии:
    13
    Ребята, совсем не пойму в чем проблема, есть кнопка на сайте, для перехода к оплате, но пользователь всегда про нее забывает, и было решено сделать автоклик по ней, но ничего не срабатывает
    При вставке
    <script>
    document.getElementById("myform").submit();
    </script>

    Выскакивает новое окно, так не нужно

    При вставке
    <script>
    document.getElementById("myform").click();
    </script>

    или

    <script>
    document.getElementById("myform").onclick();
    </script>

    Вообще ничего не происходит, хотя должна нажаться кнопка и открыться новая вкладка с оплатой.
    Код страницы на всякий случай
     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.350
    Симпатии:
    1.378
  3. kama812

    kama812

    Регистрация:
    30 мар 2013
    Сообщения:
    311
    Симпатии:
    194
    а смысл кликать по форме?
    кликать нужно по кнопке сабмит, это раз.
    т.ч лучше использовать submit() (не говоря о том что лучше использовать jquery)
    и удали блок <?php if ($this->config->get('yandexsimple_new_window')){ echo 'target="_blank"'; } ?>
    т.к скорее всего проверка проходила именно с включенным $this->config->get('yandexsimple_new_window') , вот сабмит и открывал новое окно
     
    dofus нравится это.
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.350
    Симпатии:
    1.378
    Спорный вопрос на счёт "лучше" :Smile:
    никто не писал что что-то открывается. Писали что нет реакциии.
     
  5. dofus

    dofus

    Регистрация:
    21 апр 2013
    Сообщения:
    140
    Симпатии:
    13
    Он прав, при submit выскакивало новое окно, а оно не нужно, написано в первом посте))
    --- Добавлено, 13 ноя 2014 ---
    Как бы помог твой совет, но частично. Кнопка то нажимается, но почему то переход происходит не на страницу оплаты, а на главную)
     
  6. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.350
    Симпатии:
    1.378
    нужно смотреть что в экшене $pay;
    PHP:
    <form method="POST" name="myform" action="<?php echo $pay?>" id="myform"
    <?php if ($this->config->get('yandexsimple_new_window')){ echo 'target="_blank"'; } ?> >
    там обрабатывается реквест и отправляется респонз.
     
  7. dofus

    dofus

    Регистрация:
    21 апр 2013
    Сообщения:
    140
    Симпатии:
    13
     
  8. Melloun88

    Melloun88

    Регистрация:
    27 ноя 2014
    Сообщения:
    0
    Симпатии:
    0
    используйте конструкцию
    Код:
    $(document).on("click","#element",function() {
    alert("click");
    });
     
    Lasted edited by : 27 ноя 2014
  9. exert

    exert

    Регистрация:
    16 янв 2015
    Сообщения:
    0
    Симпатии:
    0
    '&order_id=' . $order_info['order_id'];

    $comment = $this->language->get('text_instruction') . "\n\n";
    $comment .= $this->language->get('yandexsimple_instruction_mail') . "\n\n";
    $comment .= $pay . "\n\n";
    $comment = htmlspecialchars_decode($comment);
    $this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('yandexsimple_order_status_id'), $comment, true);
    }