2015-08-11 2 views
2

Итак, у меня есть интересная дилемма, которую я пытаюсь решить. Я использую FancyBox, и при его использовании требуется, чтобы загрузка iframe имела метку href и набор url.Как добавить URL-адрес при изменении

В данной форме пользователь выбирает квадрат, а затем вводит сумму, а затем нажимает кнопку - которая запускает (открывает) fancybox.

Что бы я хотел, это изменить href url на каждом шагу.

Например, начиная url это сказать:

http://www.domain.com/do.php 

На click площади, тогда становится

http://www.domain.com/do.php?s=3 

Затем при входе в сумму, которую url присоединяет быть:

http://www.domain.com/do.php?s=3&amount=20 

Я нашел некоторые ссылки на chan ging a url, но все они, кажется, меняют url для истории браузера. Поэтому мне интересно, может ли кто-нибудь привести меня в правильном направлении, чтобы я мог это сделать?

Любое понимание очень ценится. Благодаря!

+0

вы посылаете данные через $ _GET? –

+0

Получить или отправить - не имеет значения. – MrTechie

+0

Вы заглянули в API 'window.pushState'? – nothingtosee

ответ

0

Вы хотите изменить href iframe?

Вы пробовали просто установить его, как так

$('#square').click(function(){ 
    $('iframe').attr('href', $('iframe').attr('href') + '?s=3') 
}) 

$('#amount_button').click(function(){ 
    $('iframe').attr('href', $('iframe').attr('href') + '&amount=' + $('#amount').val()) 
}) 
+0

Но то, что должно произойти, основано на взаимодействии пользователя. Поэтому, когда они нажимают квадрат, введите сумму. Каждый из них сделает отдельный звонок и добавит URL-адрес. – MrTechie

1

Вы можете добавить к URL, используя метод ниже:

HTML

<input type="button" id="btnGo" onclick="getUrl()"/> 

JavaScript

function getUrl() { 
    var currentUrl = window.location.href; 
    setUrl(currentUrl); 
} 

function setUrl(url) { 
    var result = url + "?anotherargument"; 
    window.location.href = result; 
} 
+0

Хорошо, это близко, но как мне подойти ко второму звонку? Это установило бы say? S = 3, но как насчет того, когда придет время для добавления суммы, чтобы она стала? S = 3 & amount = 10 – MrTechie

+0

Мне нужно было бы увидеть, как ваш код отвечает на это. Но вы должны просто прикрепить функцию getUrl к любому обработчику событий в событиях, в которых вы нуждаетесь. – mwilson

+0

Когда пользователь вводит сумму, они нажимают кнопку «ввести» или что-то еще? Каков идентификатор, который использовался, когда пользователь закончил вводить свою сумму? – mwilson

1

Если я правильно понял ваш вопрос, вам нужно перезагрузить URL-адрес iframe. Для этого есть простое решение для javascript. Смотрите пример здесь: http://jsfiddle.net/ddan/2tf3vyLb/2/

Выгрузка src атрибут Iframe:

function appendToUrl(str){ 
    document.getElementById('f1').src += str; 
} 

в вашем случае параметр первого является ?s=3, второй раз &amount=20

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