2013-08-09 8 views
0

Я хочу всплывающее окно с вопросом, хочу ли я продолжить, прежде чем выполнять сам код javascript. Проблема заключается в том, что я не могу изменить кнопку, чтобы добавить подтверждение. код я использую:Подтвердить перед выполнением Javascript

<script type="text/javascript"> 

function confirmclick(id) { 
var answer = confirm ('This action cannot be undone. Are you sure you want to perform this action?'); 
if (answer) { 
<![CDATA[ 
jQuery(document).ready(function() { 
jQuery("button span:contains('Sendung übermitteln')").parent("button").click(function(){ 
jQuery(this).unbind('click'); 
}); 
jQuery("button span:contains('Sendung übermitteln')").parent("button").click(); 

}); 
//]]> 
} else{} } 
</script> 

На данный момент ничего не происходит. Нет всплывающих окон и не нажимать на кнопку ...

ответ

0

Вам необходимо привязать свою функцию к событию загрузки DOM, чтобы он вызывается, когда страница готова.

Try:

$(document).ready(function() { 
    // do some stuff, call your function etc 
}); 

Тогда этот код будет вызываться при загрузке страницы. Альтернативно, если вы хотите в другое время, измените событие, которое вызывает обратный вызов выше.

0

У вас есть много ошибок в этом коде.

  1. <![CDATA[ должны пойти после того, как <script type="text/javascript"> и //]]> перед тем </script>.

  2. Убедитесь, что вы связываете событие click на кнопке с функцией confirmclick. например добавить $(document).ready(function() { $('#you_btn_id').onclick(confirmclick); }); до </script>. Удалите jQuery("button span:contains('Sendung übermitteln')").parent("button").click();, потому что он вызывает событие click. Он не предназначен для привязки события.

  3. Удалить jQuery(document).ready, потому что это необязательно: функция confirmclick вызывается только после загрузки документа. Кроме того, если вы там живете, функция обратного вызова никогда не будет выполнена, потому что документ уже загружен и событие уже запущено.

Смежные вопросы