Передача значений нескольких строк в родительское окно с использованием имени переменной формы - PullRequest
1 голос
/ 18 октября 2011

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

У меня есть родительское окно, которое создает всплывающее окно, которое извлекает возможные адреса на основе частичного почтового индекса. Это все работает, и теперь мне просто нужно передать значения обратно в родительское окно.

Это снова я смог сделать, проблема в том, что на родительской странице есть несколько форм с одинаковыми именами полей .... т.е. имя формы уникально (FormAddress1, FormAddress2 и т. Д.), Но поля одинаковы (номер дома, адрес1, регион, почтовый индекс и т. д.).

Текущий JS, который я использую в своей ссылке для вызова основной функции:

<a href="javascript:js_PushPostcode('FormAddress1','trValue1','strValue2')">Use this address</a>

Функция передает эти значения родительской странице следующим образом;

<script type="text/javascript">

function js_PushPostcode(jsAddressForm,jsAddress1,jsAddress3){
    void(window.opener.document.FormAddress1.Address1.value = jsAddress1);
    void(window.opener.document.FormAddress1.Address1.value = jsAddress3);
}

</script>

Мне бы очень хотелось заменить статическое имя формы (FormAddress1 в приведенном выше случае на переменную jsAddressForm.

Пожалуйста, помогите .... Мои знания JavaScript ограничены, как вы, вероятно, можете сказать.

Спасибо за любую помощь, которую вы можете предоставить.

Dan

1 Ответ

0 голосов
/ 18 октября 2011

Вы можете использовать имя формы в DOM следующим образом:

function js_PushPostcode(jsAddressForm,jsAddress1,jsAddress3){
    void(window.opener.document.forms[jsAddressForm].Address1.value = jsAddress1);
    void(window.opener.document.forms[jsAddressForm].Address1.value = jsAddress3);
}

Я не уверен, что это 100% кросс-браузер, но так и должно быть.Проверьте это.

...