Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.05.2013, 09:13
Новичок на форуме
Отправить личное сообщение для simix07 Посмотреть профиль Найти все сообщения от simix07
 
Регистрация: 20.05.2013
Сообщений: 3

Вопрос по select
Доброго времени суток дамы и господа. Подскажите пожалуйста как получить текст элемента option, если он динамически изменяется.
Есть форма:

<input type="hidden" name="ctl00$ContentPlaceHolder1$SignatureValueHF" id="ctl00_ContentPlaceHolder1_SignatureValueHF" />
        <input type="hidden" name="ctl00$ContentPlaceHolder1$SignatureTypeHF" id="ctl00_ContentPlaceHolder1_SignatureTypeHF" />         
        <span style="font-family: Tahoma"><span style="font-size: 11pt;">Выберите сертификат
            подписи</span>
            <hr width="50px" align="left" />
            <div class="controlLayout">                
                    <select size="2" name="ctl00$ContentPlaceHolder1$CertListBox" id="ctl00_ContentPlaceHolder1_CertListBox" style="border-color:#F73F08;border-width:1px;border-style:Solid;height:30px;width:410px;resize: vertical;">
 
</select> 
<p align="right">Наименование организации: <input type="text" name="Orgname" size="50" maxlength="50" value="ООО Ромашка"></p>
              <p align="right">Фамилия:<input type="text" name="LastName" size="50" maxlength="50" value="Иванов"></p> 
            <p align="right">Имя: <input type="text" name="FirstName" size="50" maxlength="50" value="Иван"></p>


Нужно сделать кнопку Выбрать (как сделать саму кнопку я знаю), какой параметр написать в onclick если мне надо разобрать на составляющие полный текст значений сертификата и раскидать их по полям в input.

Никак не могу понять, как при помощи КриптоПРО ЭЦП Browser Plugin, автоматически заполнить поля наименование организации, фамилия и имя из сертификата ЭЦП.
Подскажите пожалуйста на примере 1-ой строки например ИМЯ, и я дальше все сделаю.
Ответить с цитированием
  #2 (permalink)  
Старый 20.05.2013, 09:50
Новичок на форуме
Отправить личное сообщение для simix07 Посмотреть профиль Найти все сообщения от simix07
 
Регистрация: 20.05.2013
Сообщений: 3

Добавлю, сама функция уже описана:
function FillCertList(lstId, BrowserName) {
    var oStore = ObjCreator("CAPICOM.store", BrowserName);
    if (!oStore) {
        alert("store failed");
        return;
    }

    try {
        oStore.Open();
    }
    catch (e) {
        alert("Ошибка при открытии хранилища: " + GetErrorMessage(e));
        return;
    }

    var certCnt = oStore.Certificates.Count;

    var lst = document.getElementById(lstId);    
    for (var i = 1; i <= certCnt; i++) {
        var cert;
        try {
            cert = oStore.Certificates.Item(i);
        }
        catch (ex) {
            alert("Ошибка при перечислении сертификатов: " + GetErrorMessage(ex));
            return;
        }

        var oOpt = document.createElement("OPTION");
        try {
            oOpt.text = cert.SubjectName;
        }
        catch (e) {
            alert("Ошибка при получении свойства SubjectName: " + GetErrorMessage(e));
        }
        try {
            oOpt.value = cert.Thumbprint;
        }
        catch (e) {
            alert("Ошибка при получении свойства Thumbprint: " + GetErrorMessage(e));
        }

        lst.options.add(oOpt);
    }

    oStore.Close();
}


Меня интерисует поле SubjectName:
SubjectName: CN=ФИО, T=Должность, OU=Отдел, O=Организация, E=email, S=Город, L=область, C=RU, INN=6312000000, OGRN=Огрн, STREET="улица, 21/36, офис 21", UnstructuredName="КПП=631901001"
Знаю, что выдернуть их можно при помощи oStore.Certificates.Item(i); но как это сделать я не понимаю....

Собственно задача, выдернуть из выбранного сертификата поля по полочкам и раскидать визуаьльно их в input
Ответить с цитированием
  #3 (permalink)  
Старый 20.05.2013, 11:15
Новичок на форуме
Отправить личное сообщение для simix07 Посмотреть профиль Найти все сообщения от simix07
 
Регистрация: 20.05.2013
Сообщений: 3

Полный код формы:
<form>
			<input type="hidden" name="ctl00$ContentPlaceHolder1$SignatureValueHF" id="ctl00_ContentPlaceHolder1_SignatureValueHF" />
        <input type="hidden" name="ctl00$ContentPlaceHolder1$SignatureTypeHF" id="ctl00_ContentPlaceHolder1_SignatureTypeHF" />         
        <span style="font-family: Tahoma"><span style="font-size: 11pt;">Выберите сертификат
            подписи</span>
            <hr width="50px" align="left" />
            <div class="controlLayout">                
                    <select size="1" name="ctl00$ContentPlaceHolder1$CertListBox" id="ctl00_ContentPlaceHolder1_CertListBox" 
style="border-color:#F73F08;
border-width:1px;border-style:Solid;height:30px;width:410px;resize: vertical;">

</select>     
<input type="button" value="Заполнить" onClick="">
     
            </div>
          

                            <h3>Шаг 1.</h3>
			<p align="right">Заявитель: <input type="text" name="Orgname" size="50" maxlength="50" value="ООО Ромашка"></p>
              <p align="right">ФИО заявителя:<input type="text" name="CN" size="50" maxlength="50" value="Иванов Иван Иванович"></p> 
           
            <p align="right">Юр.адрес: <input type="text" name="UrAdress" size="50" maxlength="50" value="123456, Россия, Москва, ул. Советская, 1"></p>
            <p align="right">Почтовый адрес: <input type="text" name="PostAdress" size="50" maxlength="5" value="123456, Россия, Москва, а/я 12345"></p> 
            <p align="right">ИНН: <input type="text" name="INN" size="10" maxlength="10" value="7711111111"></p> 
            <p align="right">КПП: <input type="text" name="KPP" size="10" maxlength="10" value="770101001"></p> 
            <p align="right">E-mail: <input type="text" name="email" size="50" maxlength="50" value="ivanov@mail.ru"></p> 
            <p align="right">Телефон: <input type="text" name="phone" size="11" maxlength="11" value="+7 (495)1234567"></p> 
            <p align="right">Контактное лицо: <input type="text" name="contactname" size="50" maxlength="50" value="Петров Петр Петрович"></p> 
</form>

Когда пишу более менее сам понимать начинаю ))
Задача, определить, какой выбран сертификат, получить из него строку SubjectName, из этой строки, выбрать определенные данные и подставить их в значение value в инпутах...
Ответить с цитированием
  #4 (permalink)  
Старый 20.05.2013, 15:33
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Сообщение от simix07
как получить текст элемента option
Как вариант...

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
function test() {
	var o=document.getElementById('test');
	alert(o.options[o.selectedIndex].innerHTML);
};
</script>
</head>
<body>
<select id='test'>
	<option></option>
	<option>Item 1</option>
	<option>Item 2</option>
	<option>Item 3</option>
</select>
<button onclick='test();'>getTextOption</button>
</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
Метод для конвертирования едениц px, em, %, pt. jegit Элементы интерфейса 0 07.03.2013 16:15
Вопрос по select CoolDoom Серверные языки и технологии 3 09.03.2011 21:56
Проблема с динамическим формированием select elepsion jQuery 1 31.10.2010 14:31
Вопрос по SELECT xela1980 jQuery 7 21.12.2009 23:55