2015-02-04 84 views
0

我有以下形式。我想有網址是:http://myapp/library/#/iframe?title=Search&url=http:%2F%2Fencore.scranton.edu%2Fiii%2Fencore%2Fsearch%2F?lang=eng&target=EinsteinHTML表單操作是預先值而不是附加值

<form action="#/iframe?title=Search&url=http://encore.scranton.edu/iii/encore/search/" id="form" method="get" name="form" > 
    <input name="target" type="search" value="" placeholder="Search" class="search-input"> 
</form> 

但不是它的預謀:http://myapp/library/?target=Einstein#/iframe?title=Search&url=http:%2F%2Fencore.scranton.edu%2Fiii%2Fencore%2Fsearch%2F?lang=eng

角碼:

的iframe /模板/ index.html的

<div ui-view class="container"> 
.... 
     <div class="animated fadeIn iframe"> 
      <iframe src="{{ url }}" frameborder="0"></iframe> 
     </div> 
</div> 

iframe/controller.js

 // 
     // Routes 
     // 
     .state('iframe', { 
     url   : '/iframe?title&url', 
     templateUrl : 'modules/Iframe/templates/index.html', 
     controller : 'IframeController' 
     }) 
    }]); 
+0

什麼是你的js代碼?另外 - 方面是encore.scranton.edu你的域名?你有沒有檢查CSRF問題? – picus

+0

這個javascript相當複雜。我只是好奇,爲什麼它的價值不在追加? – Bruno

+0

順便說一句我正在使用Angular ... iframe是一個角度模塊,它將URL和角度模板中的iframe顯示出來。 – Bruno

回答

0

這是怎麼回事?

<form action="http://encore.scranton.edu/iii/encore/search/?title=Search" id="form" method="get" name="form" > 
    <input name="target" type="search" value="" placeholder="Search" class="search-input" /> 
    <input name="title" type="hidden" value="Search" /> 
</form> 

fiddle

+0

是的,但我有我需要使用的自定義iframe代碼。我只是好奇,爲什麼它的價值不在追加? – Bruno

+0

我不明白什麼是_custom iframe code_,如果你想將它加載到iframe中,那麼只需使用form'target'屬性,如果你有一些特定的JS庫(我不知道任何這樣的,我沒有看到任何在你的問題標籤/描述中)處理這個'action'屬性,那麼庫就會失敗。否則,它會嘗試根據您當前的URL構建相對路徑,請參閱[form action description](http://www.w3schools.com/tags/att_form_action.asp) – smnbbrv

0

使用jQuery:

var currentURL = $("#form").prop('action'); 
var newAction = 'http://myapp/library/' + currentURL + '&target=Einstein'; 
$("#form").prop('action', newAction); 
1

在沒有看到JS,我可能是在黑暗中跳舞,但你嘗試這樣的事情?

假設沒有框架

var myform = document.getElementById("form"); 
var action = myform.getAttribute("action"); 
//reset the entire attribute 
myform.setAttribute(action+"value_i_want_appended"); 
+0

是的,我想我必須這樣做。我只是不明白爲什麼它預先計劃目標價值而不追加。如果我拋出一個普通的url,它會追加,但是它會顯示英鎊符號......爲什麼? – Bruno

+0

很好的問題。將不得不查看,顯然JS引擎覺得這是做它的正確方法,基於它看起來像一個錨點。這是否發生在所有瀏覽器上? – picus

相關問題