Вставка дополнительного кода в атрибут onclick кнопки отправки с помощью jquery - PullRequest
0 голосов
/ 10 февраля 2012

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

Вот кнопка:

<input id='TESTFrmSubmit' type='submit' value='Submit' name='submitButton' onclick='formSubmit(document.getElementById("TESTForm_1001")); return false;' />

Дополнительный код, который я хочу вставить в атрибут onclick:

'_gaq.push(['_trackEvent', 'Whitepaper Campaign', 'Submit Button','conceptshareexample.pdf'']);'

JqueryУ меня есть, что вставляет дополнительный код в атрибут onclick:

$(document).ready(function(){

   $("#TESTFrmSubmit").attr ("onclick", function() { 

return this.onclick + "'_gaq.push(['_trackEvent', 'Whitepaper Campaign', 'Submit Button','TESTexample.pdf'']);'";

  });

  });

Проблема у меня заключается в том, что при просмотре исходного кода кнопки, он содержит функция onclick(событие) внутри клика, отображая его так:

onclick="function onclick(event){ formSubmit(document.getElementById("TESTForm_1010")); return false; }_gaq.push(['_trackEvent', 'Whitepaper Campaign', 'Submit Button','TESTexample.pdf'']);"

Мне нужно, чтобы оно отображалось так без функции onclick (событие) :

onclick="{formSubmit(document.getElementById("TESTForm_1010")); return false; }_gaq.push(['_trackEvent', 'Whitepaper Campaign', 'Submit Button','TESTexample.pdf'']);"

Пожалуйста, помогите!это ломало мне голову ...

Ответы [ 2 ]

1 голос
/ 10 февраля 2012

Вместо установки .attr('onclick' вы можете привязаться к обработчику событий напрямую:

$('#mktFrmSubmit').click(function ()
{
    doSomething();
    alert('hi');
}
$('#mktFrmSubmit').click(function ()
{
    alert('We can also bind to .click multiple times, and it adds events');
    // Instead of just overwriting them
}

Теперь нажатие #mktFrmSubmit вызовет оба этих обработчика щелчка.

0 голосов
/ 10 февраля 2012
this.onclick

возвращает

function onclick(event) {...

Чтобы выполнить то, что вы хотите, используйте это:

$(document).ready(function(){

$("#mktFrmSubmit").attr ("onclick", function() {

_gaq.push(['_trackEvent', 'Whitepaper Campaign', 'Submit Button','conceptshareexample.pdf']);
formSubmit(document.getElementById("TESTForm_1001")); return false;

});

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...