2015-01-30 4 views
0

У меня есть форма, которая отправляет запрос на канал JSON и отображает результаты. Мне также нужно предоставить ссылку на исходный канал для пользователя. У меня есть следующий код, который вытягивает выбор из входов и генерирует URL для запроса:Показать запрошенный канал JSON как URL-адрес

document.getElementById('region').addEventListener('submit', function (event) { 
    event.preventDefault(); 

     window.location.href = '/editorialPortal' + '?' + this.id + '=' + this.options[this.selectedIndex].value; 

}); 

Мне нужно, чтобы иметь возможность поставить window.location.href = '/editorialPortal' + '?' + this.id + '=' + this.options[this.selectedIndex].value; в ссылку якорь, но возникают проблемы при получении этой установки.

У меня есть этот <a href="<' + "script type='text/javascript'>window.location.href = '/editorialPortal' + '?' + this.id + '=' + this.options[this.selectedIndex].value;"'</script>">JSON</a>, но он не работает должным образом из-за размещения котировки.

Вы увидите в console.log случае, если URL генерируется с помощью формы в этом fiddle мне нужно, чтобы быть в состоянии установить, что сгенерированный URL, как кормить JSON возвращается

+0

дать некоторую обратную связь, если вам не нравится сообщение при downvoting –

+0

@BobSinclar, как это утверждение относится к моему вопросу? – Matt

+0

Это был комментарий к downvoter извините, может быть, я должен его удалить –

ответ

1

Давайте предположим, что <a> вы хотите обновить уже существующий, уже имеет текст «JSON» и имеет идентификатор link (если нет, badrequest's answer показывает вам, как добавить новый <a> на страницу). Поэтому нам просто нужно обновить атрибут href с выбранными значениями.

var regionBox = document.getElementById('region'), 
    region = regionBox.options[regionBox.selectedIndex].value, 
    durationBox = document.getElementById('duration'), 
    duration = durationBox.options[durationBox.selectedIndex].value, 
    link = document.getElementById('link'), 
    newHref = '/editoralPortal/?region=' + region + '&duration=' + duration; 

link.href = newHref; 
+0

Мне нужно убрать сгенерированный URL-адрес, который будет иметь область и продолжительность в ней, в ссылку привязки. Поэтому я должен получить 'JSON' например. – Matt

+0

Если вы посмотрите на консоль скрипта, которую я предоставил, вы увидите URL-адрес, который нужно создать и отобразить на основе того, что пользователь выбирает и представляет: http://jsfiddle.net/mattography/a75gqag7/2/ – Matt

+0

@Matt, что скрипка имеет больше смысла. Я бы обновил ваш вопрос, чтобы включить его. Я уточню свой ответ. –

0

Вы должны создать якорь тег динамически на DOM

// create anchor and set attributes 

var anchor = document.createElement('a'); 
anchor.setAttribute('href', 'your generated link goes here'); 
anchor.innerHTML = 'Whatever you want to show up on page'; 

// nest anchor tag somewhere on page 

var blabla = document.getElementById('blabla); 
blabla.appendChild(anchor); 

Надеется, что это помогает!

Смежные вопросы