Динамическая кнопка в jquery с помощью window.open

Я пытаюсь динамически создать кнопку для добавления представления перед загрузкой чего-либо в базу данных.

Я использую jquery для своего Интернета, поэтому, если решение находится в jquery, лучше.

Теперь я пробую фрагмент кода, который нашел здесь: Создание динамической кнопки с клик по событию в javascript

Вот как я адаптировался для своего случая:

var element = document.createElement("input");
//Assign different attributes to the element. 
element.type = 'button';
element.value = 'hello'; // Really? You want the default value to be the type string?
element.name = 'HELLO';  // And the name too?
element.onclick = window.open('test.html?name=test&surname1=test2&surname2=test4', 'my_new_window');;

var foo = document.getElementById("registerButtonDiv");
//Append the element in page (in span).  
foo.appendChild(element);

Он добавляет кнопку (ну, это простая кнопка, не похожая на другие на моей веб-странице, я думаю, что-то связанное с css)

Но если я попытаюсь использовать что-то вроде события onclick, он создаст кнопку, но не добавит часть onclick. Я пробовал менять кавычки, а не использовать их... многое, так что, возможно, теперь это неправильно. Не принимайте это так серьезно, я просто копирую последнюю версию. С алертом на примере работает нормально.

Что мне нужно сделать, чтобы исправить это?

Мне нужно сделать это, потому что я должен передать некоторые динамически заполненные переменные на другую страницу, и это самое простое решение, которое я нашел.


person Biribu    schedule 14.11.2013    source источник


Ответы (2)


Поскольку onclick — это событие, ему нужен обработчик. И здесь вы можете обработать событие, используя любой обработчик, который может служить вам в соответствии с вашими требованиями.

element.onclick = function(){
    window.open('test.html?name=test&surname1=test2&surname2=test4', 'my_new_window');
};

Демо

person Md. Ashaduzzaman    schedule 14.11.2013
comment
Спасибо чувак! Работает как часы. Прошло 10 минут я приму ваш ответ - person Biribu; 14.11.2013

Вам нужно передать ссылку на функцию onclick:

element.onclick = function(){
    window.open(...);
};

или с помощью jquery:

var element = $('<input type="button" value="hello" name="HELLO">');
element.on('click', function() {
    window.open('test.html?name=test&surname1=test2&surname2=test4', 'my_new_window');
});
$("#registerButtonDiv").append(element);

jsfiddle

person rogeriolino    schedule 14.11.2013