2014-02-02 3 views
-2

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

можно ли использовать «если» функция внутри «OnClick».

причина, почему я должен сделать это, потому что это «OnClick» используется внутри приложения, что я не контролирую код, единственное, что я могу контролировать, это то, что происходит внутри «onclick»

Для примера ле:

onclick="document.getElementById('REF_DOC_1_NUMBER').value = '';" 

Я могу написать:

document.getElementById('REF_DOC_1_NUMBER').value = ''; 

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

Но не функция. Страница генерируется самим приложением, поэтому я не управляю заголовком.

Что мне нужно, а, если что проверяет другой идентификатор и изменить значение только если значение другого ID (REF_DOC_1_CHOICE) является NA (не применимо)

Любые мысли?

+0

почему не использовать функцию, которая – exexzian

+0

Научитесь читать НЕ МОГУ ... – pSyToR

ответ

1

, хотя это не очень хорошая практика, чтобы использовать встроенный яваскрипта, но вы можете использовать, если в OnClick

onclick="document.getElementById('REF_DOC_1_NUMBER').value = '';if(condition){dosomething}else{dosomething else}" 
+0

Спасибо и поверьте мне, я знаю, что это не хорошая практика, но у меня нет выбора в этой ситуации ... Спасибо, что нашли время, чтобы прочитать и понять мою проблему !! – pSyToR

1

Определим функцию так:

onclick="function(text){ 
      // My stuffs 
      if(text==='test') 
       document.getElementById('REF_DOC_1_NUMBER').value = ''; 
     }"; 
+0

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

+0

Так объявить анонимную функцию как в обновленном ответе – sdespont

+0

@sdespont с использованием 'javascript:' в onclick ошибочен. Кроме того, вам не нужно определять анонимную функцию, чтобы сделать это, вы можете просто использовать этот материал inline полностью. – casraf

2

Да, вы можете использовать любой встроенный вы хотите. Событие onclick является функцией само по себе. Как вы можете определить один в JS в заголовке:

document.getElementById('mydiv').onclick = function() { 
    var a = 2; 
    if (a > 1) { 
     // do stuff 
    } 
}; 

Вы также можете сделать так, рядный:

onclick="var a=2;if(a>1){a=3}else{a=-1}" 
onclick="a == 12 && b = true || b = false" 

Вот JSFiddle

1

Вы можете использовать тройной оператор. Как-то вроде этого:

onclick="document.getElementById('REF_DOC_1_CHOICE') == 'some_value'? (document.getElementById('REF_DOC_1_NUMBER').value = '') : 0" 
Смежные вопросы