Window.Open () неправильно сбежал? - PullRequest
0 голосов
/ 07 июня 2011

Я относительно лёгкий пользователь JavaScript, поэтому эта незначительная операция вызывает у меня некоторое горе - я уверен, что что-то упустил.

Все, что мне нужно, это открыть всплывающее окно, передав одно значение - emplogin, строковую переменную с именем getEmp - на болотную стандартную страницу .php следующим образом:

<script type="text/javascript">
function getEmployeeInfo(getEmp)
{
window.open ("../Pages/Employee_Info.php?emplogin=" + getEmp + ",\"mywin\",\"menubar=0,resizable=1,scrollbars=1,width=600,height=450\"");
}
</script>

И это работает ... вроде. Проверка результата путем просмотра получившегося объекта $ _REQUEST показывает, что страница получает $ emplogin как

Array
(
    [emplogin] =>JohnDoe,"mywin","menubar=0,resizable=1,scrollbars=1,width=600,height=450"
)

IOW, второй и третий параметры для Window.Open () передаются как часть $ emplogin, полученного PHP, а не анализируются JavaScript! (Я использую 'echo htmlspecialchars (print_r ($ _ REQUEST, true));')

Я уверен, что что-то не так с экранированием параметров, но я не смог найти правильные условия поиска. Спасибо за любое руководство!

Ответы [ 4 ]

3 голосов
/ 07 июня 2011

Попробуйте это:

<script type="text/javascript">
function getEmployeeInfo(getEmp)
{
    window.open ("../Pages/Employee_Info.php?emplogin=" + getEmp, "mywin", "menubar=0,resizable=1,scrollbars=1,width=600,height=450");
}
</script>
1 голос
/ 07 июня 2011

Вы включаете второй и третий параметры как часть строки URL, поэтому все они рассматриваются как один отдельный параметр.

То, что вы хотите, это: window.open ("../Pages/Employee_Info.php?emplogin=" + getEmp,"mywin","menubar=0,resizable=1,scrollbars=1,width=600,height=450");

0 голосов
/ 07 июня 2011

urlencode вашей переменной и удалите экранирование других ваших параметров в команде open

0 голосов
/ 07 июня 2011

Вот как это должно быть:

<script type="text/javascript">
function getEmployeeInfo(getEmp)
{
window.open ("../Pages/Employee_Info.php?emplogin=" + getEmp + ,"mywin","menubar=0,resizable=1,scrollbars=1,width=600,height=450");
}
</script>
...