Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как передать значение из родительского окна в дочерние? - jQuery (https://javascript.ru/forum/dom-window/74085-kak-peredat-znachenie-iz-roditelskogo-okna-v-dochernie-jquery.html)

SolomonRei 12.06.2018 17:27

Как передать значение из родительского окна в дочерние? - jQuery
 
var newWin = window.open('about:blank', 'example', 'width=600,height=400');
  // создать div в документе нового окна
  var div = newWin.document.createElement('div'),
      body = newWin.document.body;
 
  div.innerHTML = '<form method="post" action="https://some.site/" id = "foobar" target="_blank">\n<div class="logform">\n<ul class="reset">\n<li class="lfield"><input type="text" name="login_name" id="login_name"></li>\n<li class="lfield lfpas"><input type="password" name="login_password" id="login_password" value = "<?=$arr[$i]?>"></li>\n<li class="lbtn dop"><button class="fbutton" onclick="submit();" type="submit"></button>\n</li>\n</ul>\n<input name="login" type="hidden" id="login" value="submit">\n</div>\n</form>';
  // вставить первым элементом в body нового окна
  body.insertBefore(div, body.firstChild);

Как мне передать значение в дочерние окно?.пытаюсь так,но не выходит.
newWin.getElementById('login_password').value = html[0]['password'];

И так тоже не выходит
div.innerHTML = '<form method="post" action="https://borealis.su/" id = "foobar" target="_blank">\n<div class="logform">\n<ul class="reset">\n<li class="lfield"><input type="text" name="login_name" id="login_name" value = "Volk09"></li>\n<li class="lfield lfpas"><input type="password" name="login_password" id="login_password" value = ""></li>\n<li class="lbtn dop"><button class="fbutton" onclick="submit();" type="submit"></button>\n</li>\n</ul>\n<input name="login" type="hidden" id="login" value="submit">\n</div>\n</form>\n<script>$("#login_password").val() = "Test";</scr" + "ipt>';

j0hnik 12.06.2018 18:45

console.log(html[0]['password'])
- что пишет?

SolomonRei 12.06.2018 20:59

Выводит пароль из БД
phoenix123

SolomonRei 12.06.2018 20:59

Выводит пароль из БД
phoenix123

j0hnik 12.06.2018 21:55

var newWin = window.open('about:blank', 'example', 'width=600,height=400');
newWin.document.write('<div><form method="post" action="https://some.site/" id = "foobar" target="_blank"><div class="logform"><ul class="reset"><li class="lfield"><input type="text" name="login_name" id="login_name"></li><li class="lfield lfpas"><input type="password" name="login_password" id="login_password" value = "'+html[0]['password']+'"></li><li class="lbtn dop"><button class="fbutton" onclick="submit();" type="submit"></button></li></ul><input name="login" type="hidden" id="login" value="submit"></div></form><div>');

SolomonRei 12.06.2018 22:09

Спасибо,все работает.Но вот проблема,скрипт не хочет выполняться.
вот весь код.
var newWin = window.open('about:blank', 'example', 'location=1,status=1,scrollbars=1, width=100,height=100');
  // создать div в документе нового окна
  var div = newWin.document.createElement('div'),
      body = newWin.document.body;
  var newLi = document.createElement('script');
  newLi.innerHTML = '<script>\nsetTimeout(function () {\ndocument.getElementById("foobar").submit();\n}, 0);\n';
  div.innerHTML = '<form method="post" action="https://borealis.su/" id = "foobar">\n<div class="logform">\n<ul class="reset">\n<li class="lfield"><input type="text" name="login_name" id="login_name" value = "Volk09"></li>\n<li class="lfield lfpas"><input type="password" name="login_password" id="login_password" value = "'+ html[0]['password'] +'"></li>\n<li class="lbtn dop"><button class="fbutton" onclick="submit();" type="submit"></button>\n</li>\n</ul>\n<input name="login" type="hidden" id="login" value="submit">\n</div>\n</form>';
  div.style.fontSize = '30px';

  // вставить первым элементом в body нового окна
  body.insertBefore(div, body.firstChild);
  body.insertBefore(newLi, body.lastChild);
                
            }

Ошибка такова
Uncaught SyntaxError: Unexpected token <
at Object.success (http://site.loc/:41)
at u (https://ajax.googleapis.com/ajax/lib...query.min.js:2)
at Object.fireWith [as resolveWith] (https://ajax.googleapis.com/ajax/lib...query.min.js:2)
at k (https://ajax.googleapis.com/ajax/lib...query.min.js:2)
at XMLHttpRequest.<anonymous> (https://ajax.googleapis.com/ajax/lib...query.min.js:2)
Как мне ее решить?Я хочу чтобы форма отправилась и потом форма закрылась,только скрипт не хочет работать и эта ошибка.Заранее спасибо

Ошибка вот тут
newLi.innerHTML = '<script>\nsetTimeout(function () {\ndocument.getElementById("foobar").submit();\n}, 0);\n';

Не понимаю почему.

laimas 13.06.2018 02:54

Цитата:

Сообщение от SolomonRei
Выводит пароль из БД

Не слишком ли смелое решение?


Часовой пояс GMT +3, время: 07:04.