0

我对整个 Javascript 场景还很陌生。跟着那些在线 javascript 教程,比如代码学院提供的东西,所以我将按照我从那里学到的东西以及我通过其他教程阅读的内容进行学习。阅读其他一些帖子以尝试帮助我,但我无法弄清楚

所以这是我的问题,

我正在尝试获取表单输入,将其发送到 javascript 文件,然后 javascript 文件返回一个字符串,然后我希望重新加载框架。我正在尝试为我和我的朋友制作一个简单的 chrome 扩展。

当我点击“查看成绩!” 我收到一个错误:

No webpage was found for the web address: chrome-extension://gcgddggimojbfgpbdmpfkmiofmpinjgb/location.href=getURL(account)?

而且我无法确定我的 javascript 是否工作不正常,或者我只是不知道如何发送到“铬”(我称之为)世界之外的 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);
}
4

1 回答 1

1

我认为这正是<form>s 的用途……这样的事情不需要 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”。所以最终提交的网址是:

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;
}
于 2013-03-25T20:33:40.123 回答