2013-06-04 3 views
0

У меня есть поле выбора в форме и изменении Я звоню this.form.submit(), поэтому форма отправляется автоматически.
Это очень удобно для меня, но есть случай, который мне не понравится.
Есть ли способ сделать это условно?Об изменении формы отправки, но условно

+0

Какое условие? – showdev

+2

'if (condition) this.form.submit();' –

+0

@showdev: Если установлена ​​глобальная переменная – Cratylus

ответ

3

Вы хотите проверить, установлен ли глобальный var?

if (typeof(window.globalvar) !== "undefined") 
    this.form.submit(); 

На атрибуте

onchange='if (typeof(window.globalvar) !== "undefined")this.form.submit()' 

Example on jsFiddle

+0

Но мой код 'form.sumbmit' находится внутри атрибута select – Cratylus

+0

@Cratylus вам просто нужно поместить код в атрибут , Я обновил ответ и привел пример. – BrunoLM

1

на основе ваших комментариев: самый простой способ проверить, есть ли глобальная переменная определенное значение просто

if (window.yourVariableName === 'yourValue'){ 
    //submit your form! 
} 

Для проверьте, имеет ли глобальная переменная любой значение

if (typeof window.yourVariableName !== 'undefined') { 
    //submit your form! 
} 

Кроме того, на основе ваших комментариев, прекратить использование го уровня Dóm 0 обработчиков событий, т.е.

<select id='yourSelect' onchange="this.form.submit()"> 

Лучше бы просто сделать

document.getElementById('yourSelectId").onchange = function(){ 
    if (typeof window.yourVariableName !== 'undefined') { 
     this.form.submit(); 
    } 
}; 
+0

Моя 'form.submit' находится внутри атрибута select – Cratylus

+0

@Cratylus - тогда не делайте этого. Создайте правильный обработчик событий для вашего выбора. document.getElementById ('yourSelectId "). onchange = function() {/ * выше код * /}; –

+0

Так что я не могу этого сделать, если у меня есть' onchange = this.form.submit() '. Хорошо, но ваш фрагмент в вашем комментарии, когда он должен работать? – Cratylus

0
  var a=global variable 

function VERIFY(){  
     switch (a) { 
      case (a==undefined): 
       return false 
       break; 
      case (a!=undefined): 
       alert("all ok"); 
       this.form.submit() 
       break; 
     } 
    } 

<select id="id" onchange="VERIFY();"></select> 
// 
This might help!!! 
Смежные вопросы