Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Изменение кнопки, не срабатывает функция после изменения (https://javascript.ru/forum/dom-window/44585-izmenenie-knopki-ne-srabatyvaet-funkciya-posle-izmeneniya.html)

arahmanov 25.01.2014 11:37

Изменение кнопки, не срабатывает функция после изменения
 
После нажатия на кнопку с id='create' меняется и id кнопки и ее значения id становится save_base, значение Сохранить. ПРОВЕРИЛ но обработчик события document.getElementById('save_base').onclick = Show2; не работает.

<input  type='submit'   id='create'  value='Редактировать' />


document.getElementById('create').onclick = Show; document.getElementById('save_base').onclick = Show2; 
	   
function Show() {
var element = document.getElementById('create');
if (element.value == 'Редактировать') {
	
	var inp = document.createElement("input");
	inp.id = "save_base";   
	inp.type = "submit";
	inp.name = "save_base";
	inp.value = "Сохранить";
	inp.size ="30";
	
	element.parentNode.replaceChild(inp, element);
	

	}

}


function Show2() {

var element = document.getElementById('save_base');
if (element.value == 'Сохранить') {	
	var inp = document.createElement("input");
	inp.id = "create";
	inp.type = "submit";
	inp.name = "create";
	inp.value = "Редактировать";
	inp.size ="30";
	
	element.parentNode.replaceChild(inp, element);
}}

arahmanov 25.01.2014 13:51

Пробую вешать
inp.onclick = "Show2()";
тоже не работает

рони 25.01.2014 14:17

arahmanov,
когда создали id = "save_base" тогда и вешайте
Цитата:

Сообщение от arahmanov
document.getElementById('save_base').onclick = Show2

или
inp.onclick = Show2;

Vlasenko Fedor 25.01.2014 14:36

А зачем менять id?
<input type='submit' id='create' value='Редактировать' />
    <script>
      create.onclick = function () {
        if (this.value == 'Сохранить') {
          //здесь делаем нужные действия
          this.value = 'Редактировать';
        } else {
          //здесь делаем нужные действия
          this.value = 'Сохранить';
        }
      }
    </script>


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