Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как правильно отправить event в функцию? (https://javascript.ru/forum/events/69051-kak-pravilno-otpravit-event-v-funkciyu.html)

Yury.Ko 26.05.2017 15:37

Как правильно отправить event в функцию?
 
Есть код js

easypay.core.create(event, success, error)


на странице html есть форма и ее изменять нежелательно, из этой формы я достаю данные по id, после создаю event и после вызываю event и передаю в функцию

var form = document.createElement('form');

    var product1 = document.createElement("input");
    product1.value = document.getElementById('zip');
    product1.name = "zip";

    form.appendChild(product1);

    var event = new Event('click', {cancelable: true});
    form.addEventListener('click', handler);

    easypay.core.create(form.dispatchEvent(event), success, error);


вот ошибка

Uncaught TypeError: a.preventDefault is not a function


что делаю не так? в js не силен, заранее спасибо за помощь
вот либа easypay-sdk.s3.amazonaws.com/easypay-current.js

Diphenyl Oxalate 26.05.2017 16:41

Нужен код функции handler

Yury.Ko 26.05.2017 16:51

Diphenyl Oxalate,
суть в том что в функции easypay.core.create() событие отменяется методом preventDefault, по этому в hendler нет никакой обработки. Быть может я не так понимаю принцип работы preventDefault(javascript-ом не занимался никогда)... для меня пока загадка что это за объект 'event'. Вот код из документации
<form name="credit-card-data" method="post" id="card-form">
    <label for="zip">Zip</label>
    <input name="zip" />
    <label for="state">State</label>
    <input name="state" />
    <label for="city">City</label>
    <input name="city" />
    <label for="address">Address</label>
    <input name="address" />
    <label for="cardholder_name">Cardholder Name</label>
    <input name="cardholder_name" />
    <label for="expiration_date">Expiration Date</label>
    <input name="expiration_date" />
    <label for="card_number">Card Number</label>
    <input name="card_number" />
    <input type="submit" onclick="easypay.core.create(event, success, error)" />
</form>


Часовой пояс GMT +3, время: 00:10.