我对整个Javascript场景都很陌生。跟随那些在线javascript教程之类的代码学院提供的东西,所以我将通过我从那里学到的东西以及我通过其他教程阅读的东西。阅读其他一些帖子试着帮助我,但我无法弄清楚
所以这是我的问题,
我正在尝试获取表单输入,将其发送到javascript文件,然后javascript文件返回一个字符串,然后我希望重新加载框架。我正在尝试为我和我的朋友制作一个简单的镀铬扩展程序。
点击“查看成绩!”我收到一个错误:
No webpage was found for the web address: chrome-extension://gcgddggimojbfgpbdmpfkmiofmpinjgb/location.href=getURL(account)?
我无法确定我的javascript是否工作正常或者我只是不知道如何发送到“chrome”(我称之为)世界之外的URL。
这是我的html文件:
<form action="location.href=getURL('account')">
PSU Account (i.e. xyz123): <input type:"text" id="account">
<input type="submit" value="View Grade!">
</form>
这是我的javascript文件:
function getURL(account) {
var psuAccount = document.getElementById(psuAccount);
// I changed strA to the ***.***.*** for this post
var strA = 'https://***.***.***/section/Gradebook/Student/default.aspx?userId=';
var strB = '&reportMode=true';
var newURL = strA + psuAccount + strB);
return(newURL);
}
答案 0 :(得分:1)
我认为这正是<form>
的用途......不需要Javascript这样的东西。尝试:
<form action="https://***.***.***/section/Gradebook/Student/default.aspx" method="GET">
PSU Account (i.e. xyz123): <input type="text" name="userId" />
<input type="hidden" name="reportMode" value="true" />
<input type="submit" value="View Grade!" />
</form>
提交机制将自动使用表单的action
属性。由于method
是“GET”,因此它还会为<form>
中具有name
属性的元素添加键/值对的查询字符串。因此,对于您的表单,它将添加一个键“userId”,其值为文本框在提交时的当前值。它还将添加一个值为“true”的键“reportMode”。因此,将提交的最终URL是:
https://***.***.***/section/Gradebook/Student/default.aspx?userMode=true&userId=SOME_INPUT_STRING
如果您需要使用Javascript,请尝试:
<div>
PSU Account (i.e. xyz123): <input type:"text" id="account" />
<input type="button" value="View Grade!" onclick="getURL();" />
</div>
使用:
function getURL() {
var psuAccount = document.getElementById("account").value;
var strA = 'https://***.***.***/section/Gradebook/Student/default.aspx?userId=';
var strB = '&reportMode=true';
var newURL = strA + psuAccount + strB;
window.location.href = newURL;
}