2015-02-04 85 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

相关问题