2016-02-19 3 views
0

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

Ниже приведен код предупреждения, который вызывается на onchange выпадающего меню.

function psychAlert() 
{ 
    var element = document.getElementById("service_help"); 
    for (var x = 0; x <element.options.length; x++) { 
     if (element.options[x].selected) { 
      selectedVal = element.options[x].value; 
      break; 
     } 
    } 

    if(selectedVal == '1514'){ 
     alert("Please call Helpline"); 
    } 
} 

Ниже приведен выпадающий код, в котором предупреждение вызывается из onchange.

<html:select tabindex="<%= tabIndex.getNext()%>" property="serviceDesc" size="1" styleId="service_help" onchange="javascript: psychAlert(); " ></html:option> 
    html:optionsCollection property="serviceDescList" value="lookupCode" label="shortDescription"/> 
<html:select> 
+0

Ваш выбор очень увлекательный, есть ли причина, по которой вы написали это так? – Trasiva

+0

Нет, для этого нет особых причин. – Vishwa

+0

Если этот ответ работает на вас, убедитесь, что вы его принимаете. – Trasiva

ответ

2

Потому что ваш пример не включает в себя фактические данные в пределах вашего списка, я очистил его и привел пример, который гораздо легче следовать, и должны прояснить любые вопросы вы имеете. Этот код был протестирован в IE 8, Firefox и Chrome и работает без сбоев во всех трех.

var example = document.getElementById("dlExample"); 
 

 
example.addEventListener("change", function() { 
 
    if (example.value === "3") { 
 
    alert("Please call the help desk."); 
 
    } 
 
});
<select id="dlExample"> 
 
    <option value="0">Hi</option> 
 
    <option value="1">Bye</option> 
 
    <option value="2">Yes</option> 
 
    <option value="3">No</option> 
 
</select>

Так, глядя на этот код. Во-первых, мы упростили ваш очень запутанный и чрезмерно сделанный select. Теперь вы больше не вызываете onchange внутри кода, не храните там значение или не требуете ненужных циклов. Простой select со всеми вашими вариантами.

Что касается JavaScript, мы начали с первого добавления простого EventListener, находя select с getElementsByID (обратите внимание, что я установил идентификатор в select, имя бы не работать не будет). После этого мы устанавливаем EventLIstener на основе события изменения. Любое изменение происходит с этим выпадающим списком, оно проверяет и проверяет, что выпадающее значение - это то, что вы хотите, чтобы вызываемое предупреждение было вызвано. Иногда просто лучше, и в этом случае, тем более.

+0

ok позвольте мне попробовать этот код. – Vishwa

+0

@Vishwa Вы можете запустить фрагмент кода, нажав кнопку «Выполнить фрагмент кода». В нем появится небольшое окно html-примера с элементом управления. – Trasiva

+0

Для кода, который я разместил, это код выбора, где я вызываю предупреждение. \t \t \t \t \t \t \t \t \t \t \t   \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t Vishwa

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