альтернатива всплывающего окна jquery к решению окна javascript, которое мы используем в SharePoint - PullRequest
0 голосов
/ 12 августа 2011

У нас есть настроенная страница веб-формы asp.net (созданная sharePoint). Страница была настроена с помощью кнопки, которая открывает окно с помощью javascript для второй страницы asp.net для поиска и процесса выбора вида сетки asp.net. Возможно, платформа не важна, но эта вторая страница формирует javascript на лету, чтобы отправлять выбранную информацию из выбранной таблицы имоны в поля формы первой страницы. Этот код ниже и отлично работает.

Может кто-нибудь предложить jquery, предупреждающий об этом? Нужно ли мне плагин jquery, если вы используете jquery с сайта Google.

В идеале нам нужно открыть окно, которое позволяет нам искать внешний источник данных, а затем выбирать из найденных записей и автоматически заполнять столбцы формы sharepoint. код javascript, который у нас есть, работает.

<a href="javascript:PS=window.open('PS.aspx','PS','width=800,height=600,scrollbars=1');PS.focus()">
CLICK HERE TO SEARCH FOR PHYSICIAN
</a>

<script language="VB"  runat="server">

    Protected Sub PhysicianGrid_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles PhysicianGrid.SelectedIndexChanged
       'session("firstname") = PhysicianGrid.SelectedRow.Cells.Item(2).Text
       Dim strjscript as string = "<script language=""javascript"">"
       strjscript = strjscript & "passvalue('lastname','"+PhysicianGrid.SelectedRow.Cells.Item(1).Text+"');"
       strjscript = strjscript & "passvalue('firstname','"+PhysicianGrid.SelectedRow.Cells.Item(2).Text+"');"
       strjscript = strjscript & "passvalue('Phone','"+PhysicianGrid.SelectedRow.Cells.Item(8).Text+"');"
       strjscript = strjscript & "<" + "/script>"
       Literal1.text = strjscript
    End Sub
 </script>

Ответы [ 2 ]

1 голос
/ 12 августа 2011

Вы можете просто попытаться улучшить свой код, используя jquery, как показано ниже;

Добавьте имя класса или идентификатор для этого якоря и используйте jquery для присоединения обработчика события click вместо использования href.

<a class="searchPhysician" href="javascript:void(0);">CLICK HERE TO SEARCH FOR PHYSICIAN</a>


$(function(){

   $("a.searchPhysician").click(function(){
      var PS = window.open('PS.aspx','PS','width=800,height=600,scrollbars=1');

      PS.focus();//Sometimes in IE this will fail so its better you delay sometime and focus the window.
      //setTimeout(function(){
      //   PS.focus();
      //}, 200);

      return false;
   });
});
1 голос
/ 12 августа 2011

window.opener - это объект, который указывает на любое окно / вкладку, открывшее текущее окно. Вам не нужно генерировать JavaScript на лету, чтобы передавать значения туда и обратно. Простой

window.opener.lastname = ...
window.opener.firstname = ...

должен выполнить трюк установки этих значений в родительском окне, а затем вызвать функцию, чтобы указать родителю, что данные доступны:

window.opener.dataIsReady();

То же самое касается передачи данных из родительского в дочерние окна:

w = window.open(...);
w.somevar = somevalue;
w.someFunc();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...