Получение данных при печати URL в html-странице

0

я получаю данные через Url, затем разбивается и отображается в java-скрипте, но я не умею печатать на html-странице, пожалуйста, помогите мне

Страница 1

<html>
<head>
<script>
    function setURL() {
        var dt_value = document.getElementById("dt_id").value;
        //just test here ..what is coming..
        alert( dt_value );
        var sjdurl =  "page2.html?Name=" + dt_value;
        popup = window.open(sjdurl);
        popup.window.moveTo(950,150); 

    }
</script>
</head>
<body>
    <div style="text-align:left; margin:8px 5px auto;">
       <label for="dt_id">Please enter a date and time </label>
       <input type="Text" id="dt_id" maxlength="25" size="25"/>
       <input type='button' onclick='setURL()' value='SUBMIT'>     
    </div>
 </body>
 </html>

страница 2

 <html>
 <head>
 <script LANGUAGE="JavaScript">
     window.onload=getParams
     function getParams() {
         var idx = document.URL.indexOf('?');
         var params = new Array();
         if ( idx != -1 ) {
             var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
             for ( var i = 0; i < pairs.length; i++ ) {
                 nameVal = pairs[i].split('=');
                 params[nameVal[0]] = nameVal[1];
             }
         }
         return params;
     }
     params = getParams();
     firstname = unescape( params["Name"] );
     document.getElementById("d").innerHTML = firstname;
  </script>
  </head>
  <body>
      <input type="text" id="d" value="">
  </body>
  </html>   

если я печатаю имя с помощью document.write(); он отлично работает, но не может печатать то же самое в текстовом поле html

Заметка:

мы не будем менять сценарий java на тело, он должен присутствовать внутри, а текстовое поле должно присутствовать внутри тега body. Является ли это возможным???

Теги:
url

2 ответа

0

То же, что и выше, но незначительные изменения.

</head>
  <body>
  <input type="text" id="d" value="" />
<script LANGUAGE="JavaScript">
  window.onload=getParams
  function getParams()
   {
   var idx = document.URL.indexOf('?');
   var params = new Array();
   if (idx != -1) 
   {
   var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
   for (var i=0; i<pairs.length; i++)
   {
    nameVal = pairs[i].split('=');
    params[nameVal[0]] = nameVal[1];
   }
   }
return params;
 }
  params = getParams();
  firstname = unescape(params["Name"]);
  document.getElementById("d").value=firstname;
  </script>
  </body>

Не устанавливайте input.innerHTML; вместо этого установите "значение".

  • 0
    Нет не работает .....
  • 0
    Я хочу, чтобы JS должен представить головной раздел ...
Показать ещё 1 комментарий
0

Типичный пример того, как люди не заботятся о правильном размещении тегов скриптов. Вы должны использовать приведенный ниже код:

</head>
  <body>
  <input type="text" id="d" value="">
<script LANGUAGE="JavaScript">
  window.onload=getParams
  function getParams()
   {
   var idx = document.URL.indexOf('?');
   var params = new Array();
   if (idx != -1) 
   {
   var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
   for (var i=0; i<pairs.length; i++)
   {
    nameVal = pairs[i].split('=');
    params[nameVal[0]] = nameVal[1];
   }
   }
return params;
 }
  params = getParams();
  firstname = unescape(params["Name"]);
  document.getElementById("d").innerHTML=firstname;
  </script>
  </body>

Причина проста. время, когда вы вызываете document.getElementById("d").innerHTML=firstname;

это просто не доступно в DOM, поэтому вам нужно переместить свой скрипт под разметкой, чтобы сделать его доступным для JS для обработки.

  • 0
    Нет, это не проблема, которую я пытался сейчас, но бесполезно
  • 0
    Я хочу, чтобы JS должен представить головной раздел ..
Показать ещё 1 комментарий

Ещё вопросы

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