Как открыть новую вкладку с параметрами привязки с помощью java-скрипта

#javascript

Вопрос:

Это моя функция. Я хочу открыть новое окно с приведенным ниже URL-адресом и передать эти параметры.

  function viewWeightAge() {
            var userNIC = document.getElementById("NICNo");
            var childName = document.getElementById("childName");
            window.location.href = "https://localhost:8080/KiddieCare/AdminPanel/WeightAgeGraph.jsp?childName=" childName "amp;userNIC=" userNIC;
         
        }
 

кто-нибудь может объяснить мне причину ошибки?

Вопрос Обновлен.

 function showWeightAge(){
    var userNIC = document.getElementById("NICNo");
            var childName = document.getElementById("childName");
            var parameters= userNIC,childName;
            window.open ('https://localhost:8080/KiddieCare/AdminPanel/WeightAgeGraph.jsp','Window Name',parameters);
}
 

Я пытался. Это открытое новое окно. Подобный этомувведите описание изображения здесь

использование window.open() Я могу открыть окно, но я хочу отправить параметры в новый JSP.

Комментарии:

1. это, по-видимому, изменяет URL-адрес текущего открытого окна/вкладки, поэтому этот код переместит пользователя в окно, в котором вы запустите его по указанному URL-адресу, а не откроете новое окно с указанным URL-адресом. Это специально? Если нет, то вам следует использовать это w3schools.com/jsref/met_win_open.asp

2. вы уверены, что можете использовать https с localhost:8080 ? Попробуй window.open('http://localhost:8080/...");

Ответ №1:

Вместо использования window.location.href которого измените URL — адрес текущего окна

вы должны использовать window.open()
https://www.w3schools.com/jsref/met_win_open.asp

Обратите внимание, что он может быть заблокирован как нежелательное всплывающее окно

В вашем случае это можно сделать так

 function viewWeightAge() {
     const userNIC = document.getElementById("NICNo");
     const childName = document.getElementById("childName");
     window.open("https://localhost:8080/KiddieCare/AdminPanel/WeightAgeGraph.jsp?childName=" childName "amp;userNIC=" userNIC);
}
 

Комментарии:

1. Да, «правильный» способ сделать это (предполагая, что он исходит из действия пользователя) — создать ссылку и щелкнуть по ней, так window.open как она почти всегда заблокирована

2. использование window.open() Я могу открыть окно, но я хочу отправить параметры в новый JSP

3. Почему бы вам не сделать window.open("https://localhost:8080/KiddieCare/AdminPanel/WeightAgeGraph.jsp?childName=" childName "amp;userNIC=" userNIC") то, что вы сделали для window.location

4. @CharybdeBE Я получил сообщение об ошибке «окно». местоположение — это не функция

5. @PoornaSenaniGamage Да, потому что функция, которую я вам сказал использовать, — это window.open (я отредактирую свой ответ, чтобы быть более ясным)