проверьте, какая кнопка привязки открыла всплывающую страницу

0

у меня есть

<a class="zipbutton" onclick="window.open('www.site.com/zipfinder/','popupwindow'...>.

На моей домашней странице есть 2 поля ввода. От почтового индекса и почтового индекса. Рядом с ними находятся кнопки привязки, которые открывают страницу, на которой пользователь может найти почтовый индекс, основанный на городе и состоянии, а затем отправляют почтовый индекс в соответствующее текстовое поле. То, что я сделал, я создал две отдельные страницы для каждой кнопки привязки. Есть ли способ объединить их в одно всплывающее окно?

Вот пример кода для одной из всплывающих страниц:

<script language="Javascript" type="text/javascript"> 
    function post_value(){
        window.opener.document.getElementById("FromZip").value = document.getElementById("cityBox").value;
        self.close();
        }
</script>

а также

    function post_value(){
            window.opener.document.getElementById("ToZip").value = document.getElementById("cityBox").value;
            self.close();
        }
  • 0
    попробуй jquery диалог модальный

2 ответа

0

Вот несколько примеров для этого. Я использую JQuery для этого.

Html-форма

<form>
<input type="text" id="FromZip" name="FromZip">
<a href="#" class="button_open_Fromzipcode">Zip code</a>
<br>
<input type="text" id="ToZip" name="FromZip">
<a href="#" class="button_open_Tozipcode">Zip code</a>

</form>

<div id="zipcodes">
<a href="#" class="button_close_zipcode">Close</a>
<br>

<!--LOAD YOUR ZIP CODES HERE-->

<!--For Example-->
<a href="#" class="zipcode">0001</a><br>
<a href="#" class="zipcode">0002</a><br>
<a href="#" class="zipcode">0003</a><br>
<a href="#" class="zipcode">0004</a><br>
<a href="#" class="zipcode">0005</a><br>
<a href="#" class="zipcode">0006</a><br>
<a href="#" class="zipcode">0007</a>

</div>

Стиль для контейнеров zipcodes

<style type="text/css">
#zipcodes
{   
    display: none;
    color:#000;
    background-color: #eee;
    text-align: left;
    min-height: 100px;
    box-shadow: 0px 0px 7px #000;
    position: absolute;
    width:200px;
    height: 200px;
    top:40%;
    left:40%;
    padding: 16px;
    z-index:1000;

}
</style>

Вот сценарий Jquery. Обязательно добавьте библиотеку jquery в тег заголовка

<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.2.min.js"></script>



   <script type="text/javascript">
    $(document).ready(function(){

    var zipbox;

//Open zipcode container
    $(".button_open_Fromzipcode").click(function(e){
        e.preventDefault();
        $("#zipcodes").css("display","block");
        zipbox="FromZip";//flag the return textbox
    });

//Open zipcode container
    $(".button_open_Tozipcode").click(function(e){
        e.preventDefault();
        $("#zipcodes").css("display","block");
        zipbox="ToZip";//flag the return textbox
    });

  //Close zipcode container
    $(".button_close_zipcode").click(function(){
        $("#zipcodes").css("display","none");
    });



    $(".zipcode").click(function(){
        $("#"+zipbox).val($(this).text());//Set selected zipcode to Textbox
        $("#zipcodes").css("display","none");//Close zipcode container
    });

    });
    </script>
0

Вы всегда можете использовать -
1) event.srcElement в Internet Explorer
2) event.target в большинстве других браузеров.

Это даст элемент src, из которого событие click возникло в вашем случае анкерного элемента. Добавьте фильтр в идентификатор элемента и используйте только одно всплывающее окно.

Щелкните здесь для получения дополнительной информации.

Образец кода:-

 <script language="Javascript" type="text/javascript"> 
function post_value(event){
if(event.target!=null)
{
  var target=event.target.id;//This is the id of the element which triggered the event.
}
    window.opener.document.getElementById("FromZip").value = document.getElementById("cityBox").value;
    self.close();
}

  • 0
    var target будет содержать значение кнопки отправки всплывающей страницы (кнопка, которая отправит zip на родительскую страницу). Но я хочу получить идентификатор кнопки, которая открыла всплывающую страницу в первую очередь.
  • 0
    Я привел просто пример, чтобы показать, как вы можете привязать подобную функцию к событию click вашего элемента привязки при открытии всплывающей страницы, сохранить ее в скрытой переменной и получить доступ к ней при отправке страницы. например, при открытии всплывающего окна $ ('# hdnBtnID') = event.target.id. Теперь доступ к тому же при выполнении post_value ()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню