我正在構建一個擴展名爲chrome的擴展表單,該表單在提交時執行onsubmit="submit(); return false;"
。在Chrome擴展中提交表單不起作用
我知道方法提交作品,因爲我在onclick="submit()"
的表單之外創建了一個按鈕,並且完美地工作。
下面的形式:
<form method="post" name="gaffeForm" onsubmit="submit(this); return false;">
<div>
<div class="submitField">
<p class="formp">Title :</p>
<input type="text" name="title" size="50" id="pageTitle" placeholder="Title" required />
</div>
<div class="submitField">
<p class="formp">URL :</p>
<input type="url" name="url" size="50" id="pageURL" placeholder="URL" required />
</div>
<div class="submitField">
<p class="formp">Error :</p>
<textarea name="gaffe" rows="5" cols="50" id="pageGaffe" placeholder="Gaffe" required ></textarea>
</div>
<div class="submitField">
<p class="formp">Comment :</p>
<textarea name="comment" rows="5" cols="50" id="gaffeComment" placeholder="Your comment on the gaffe" required ></textarea>
</div>
<div class="submitField">
<p class="formp">Tags :</p>
<input type="text" name="tags" size="50" id="gaffeTags" placeholder="Separate the tags with a comma" required />
</div>
<div id="GaffeSubmit">
<input type="submit" value="Submit" />
</div>
</div>
</form>
這裏是submit()
功能:
function submit(f) {
var xhr = new XMLHttpRequest();
var title = $('#pageTitle').val().replace(/\//g, "%2F");
var url = $('#pageURL').val().replace(/http:\/\//, "").replace(/https:\/\//, "").replace(/\//g, "%2F");
var gaffe = $('#pageGaffe').val().replace(/\//g, "%2F");
var comment = $('#gaffeComment').val().replace(/\//g, "%2F");
var tags = $('#gaffeTags').val().replace(/\//g, "%2F");
xhr.open("POST", "http://localhost:3000/F0ETF87dar8F7deO92K/" + title + "/" + url + "/" + gaffe + "/" + comment + "/" + tags, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (req.status == 200) window.close();
}
};
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("Connection", "close");
xhr.send();
return false;
}
所以,當我點擊我的所有領域填補了會發生什麼提交的是,場發表評論,標籤變成空白,就是這樣......我嘗試了很多不同的方式來執行submit()
,但沒有一個能夠奏效......謝謝。
表單在popup.html中,提交也是popup.html中的一個函數。 –
啊。您是否在popup.html中顯式加載內容腳本?我不確定內容腳本是否全部自動可用於您的html文件,或者您是否必須明確加載它們,並且您的源文件片段未顯示加載任何顯式腳本文件。如果你將'submit'函數複製到popup.html中,那麼它會起作用嗎? – Femi
我的內容腳本與此無關。我的提交函數是popup.html –