2012-08-06 67 views
0

我想返回c =,然后让它写入输入字段并提交值。IE JavaScript参数和填充输入字段

var x = window.external.menuArguments.location.href; // IE Get URL Code 
alert(x); 
// http://site.com/design/page.html?c=235783&p=irol-IRHome 

// this code below populates a html pop that is created on popup. 
    var parentwin = external.menuArguments; 
    var doc = parentwin.document; 
    var sel = doc.selection; 
    var rng = sel.createRange(); 
    var str = new String(rng.text); 
    var html = new String(rng.htmlText); 
    var ops = "width=650,height=410,status=0,toolbar=0,menubar=0,resizable=1"; 
    viewSourceWin = parentwin.open("about:blank","viewselectionscr",ops); 
    // open document for further output 
    viewSourceWin.document.open(); 
viewSourceWin.document.write("$(document).ready(function() {"); 
viewSourceWin.document.write("load = ?;"); 
viewSourceWin.document.write("$('#cmid').val(load);$('.go').click();"); 
viewSourceWin.document.write("});"); 
viewSourceWin.document.write("<input id='cmid'/><button class='go'>Go</button>")"); 
+0

我试图让c = 235783解析成235783,并将其传入load = var。这是弹出窗口的一部分。 – Blynn 2012-08-06 19:29:49

回答

1

你想要location.search,如:

var query = window.location.search.substring(1); // use substring to remove the leading '?' 
var keyValues = query.split('&'); // split apart 
var params = {}; 
for (var kv in keyValues) { 
    var parts = kv.split('='); 
    params[ parts[0] ] = parts[1]; 
} 

var c = params['c']; 
//... do whatever you need 

当然有一个jQuery插件或三个,有些发烧友正则表达式,你也可以使用。