как перестать перезагружать родительское окно, когда открылось дочернее окно - PullRequest
4 голосов
/ 03 января 2012

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

Проблема в том, что когда я нажимаю на ссылку, это вызывает мое действие снова (из-за перезагрузки страницы), в этом действии я написал, если условие проверить пустую / пустую строку из предыдущей страницы формы отправки. с этого это второй раз, когда действие загружает это выглядит из полей (но на самом деле эти поля находятся в моей предыдущей форме страницы). так что ноль при проверке моего условия if.

Другая проблема заключается в том, что когда я решаю вышеуказанную проблему, Оператор вставки SQL, который выполняется во второй раз. Я не хочу это произойдет, или я не хочу, чтобы мое действие выполнялось, пока я открываю всплывающее окно, и я хочу заполнить выбранное значение из всплывающего окна в родительское окно.

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

 function select_reactant()
    {
        window.open ("SeriesTab.action?component=reactant",
            "mywindow","scrollbars=1,resizable=1,width=1000,height=1000");  
        };

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

<tr>
    <td><a href="" onclick="select_reactant();">reactant</a></td>
    <td><s:textfield name="reactant" id="reactantId" readonly="true" theme="simple"/></td>
  </tr>

jquery для возврата всплывающей формы значения в родительское окно

$(window.opener.document).find('#reactantId').val(rxn);

приведенный ниже код внутри действия - это то, что я упоминаю в начале

if(Rxn!=null||!Rxn.equals(""))  //Rxn is the field variable for previous page
{ 
//my insert statement
}

во время работы я получаю ошибку nullpointer, так как значение для Rxn сбрасывается в null при перезагрузке страницы из-за открытия всплывающего окна, сделанного

window.open 

1 Ответ

2 голосов
/ 03 января 2012

Вы можете сделать что-то вроде этого

HTML

<a href="#" id="anchSelectReactant">reactant</a>

jQuery

$(function(){
    $("#anchSelectReactant").click(function(){
        select_reactant();
        return false;
    });
});
...