2014-03-05 5 views
0

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

И для достижения этой цели я должен использовать JavaScript с помощью инъекции. (Ее рабочий стол AIR приложения с использованием API твиттер)

Может кто-нибудь помочь?

<body> 
<form><fieldset class="buttons"> 
      <input class="submit button" id="cancel" name="cancel" type="submit" value="Cancel" /> 
</fieldset> 
</form> 
<body> 
+0

Почему бы не начать с изменения типа от '' submit' в button'. – adeneo

+0

Вы спрашиваете, как делать инъекции или о 'event.preventDefault()'? – FGhilardi

ответ

1

Если вы хотите, чтобы предотвратить форму от представления overiding нажмите обыкновение быть достаточно. Вы можете отправить форму с помощью Ctrl + Enter.

Вы можете сделать следующее http://jsfiddle.net/tarabyte/R5yQq/.

  1. Найти форму, предполагая, что вы знаете идентификатор кнопки.

    function getForm(id) { 
    
        var button = document.getElementById(id); 
    
        while(button && 
          (button = button.parentNode) && 
          (button.nodeName !== 'FORM')){} 
    
        return button; 
    } 
    
  2. Добавить 'submit' прослушиватель событий.

    var form = getForm('cancel'), 
        handler = function(ev){ 
        ev = ev || window.event; 
        if(ev.preventDefault) { //w3c browsers 
         ev.preventDefault();  
        } 
        else { //IE old 
         ev.returnValue = false;  
        } 
        alert('Custom logic goes here!'); 
    }; 
    if(form) { 
        if(form.addEventListener) { 
         form.addEventListener('submit', handler, false) 
        } 
        else if(form.attachEvent) { 
         form.attachEvent('onsubmit', handler); 
        }  
    } 
    
0

Заменить его с помощью JS с помощью кнопки, которая вызывает вашу функцию

document.getElementById('cancel').parentNode.innerHTML = '<input type="button" onClick="myFunc()" value="replaced">'; 
window.myFunc = function() { alert('clicked'); return false; } 

http://jsfiddle.net/e37nd/

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

  • Нет связанных вопросов^_^