Как вернуть значение из тега java-скрипта страницы aspx с помощью метода fireEvent?

У меня есть несколько раскрывающихся списков на моей странице aspx. Reletively я заполняю все выпадающие списки один за другим. Последнее выбранное значение раскрывающегося списка должно быть возвращено в вызывающую среду, когда я нажимаю кнопку. Для этого я добавил тег script на страницу aspx и написал функцию, которая работает как событие onClick. Пожалуйста, объясните мне, как создать событие с этим значением и запустить его с помощью метода fireEvent. Если это невозможно с помощью метода fireEvent, предложите другой способ.


person P.Muralikrishna    schedule 14.03.2012    source источник
comment
Что вы имеете в виду, пожалуйста, объясните мне, как создать событие с этим значением и запустить его, используя метод fireEvent. ?   -  person Kaf    schedule 14.03.2012
comment
@Indikaf Спасибо за ваш ответ. Я имею в виду, что выбранное значение последнего выпадающего списка должно быть привязано к объекту события, и оно должно быть запущено, чтобы я мог обрабатывать этот объект события внутри другого файла javascript, где на самом деле я открываю эту страницу aspx как всплывающее окно.   -  person P.Muralikrishna    schedule 14.03.2012


Ответы (1)


Что вы подразумеваете под «возвращением в среду вызова»? Если вы хотите показать выбранное значение, просто используйте

var e = document.getElementById("ddl");
var valueddl= e.options[e.selectedIndex].value;

Чтобы связать значение

function fireEvent(element,event){
    if (document.createEventObject){
    // dispatch for IE
    var evt = document.createEventObject();
    return element.fireEvent('on'+event,evt)
    }
    else{
    // dispatch for firefox + others
    var evt = document.createEvent("HTMLEvents");
    evt.initEvent(event, true, true ); // event type,bubbling,cancelable
    return !element.dispatchEvent(evt);
    }
}

[html]
<input type="text" id="test">
<input type="text" id="testafterfired">
<script>
obj = document.getElementById("test");
Event.observe(obj,'change',function(){var e = document.getElementById("ddl");
var valueddl= e.options[e.selectedIndex].value;document.getElementById("testafterfired").value=valueddl;});
obj.fire('change');

</script>
[/html]
person incomplete    schedule 14.03.2012
comment
Благодарю за ваш ответ. Я пытался использовать ваш код. Но он выдает ошибку типа: «Событие» не определено. Пожалуйста, разберитесь с проблемой и помогите. Заранее спасибо. Приветствуется ранний ответ. - person P.Muralikrishna; 14.03.2012
comment
я изменил fireEvent(obj,'change'); в obj.fire('изменить'); в моем ответе. Какой браузер вы используете? - person incomplete; 14.03.2012
comment
Я использую Internet Explorer. Ошибка связана со строкой: Event.observe... В этой строке выдается ошибка как неопределенное событие. - person P.Muralikrishna; 14.03.2012
comment
Я не могу использовать объект Event внутри моего тега сценария страницы aspx, помогите мне решить эту проблему. Моя страница aspx содержит содержимое заголовка asp и содержимое тела. - person P.Muralikrishna; 14.03.2012
comment
Посмотрите на этот пост- stackoverflow.com/questions/2351597/ - person incomplete; 15.03.2012