我想要一個簡單的書籤工作與Rails創建一個窗體與當前頁面標題和URL並提交創建一個對象。返回undefined在bookmarklet - 轉發頁
我遇到的問題是,當表單提交時,它轉發到「成功」頁面,而不是僅僅停留在同一頁面上。
我知道小書籤代碼應該返回undefined以阻止這種情況發生,但我試過把void(0)放在任何我能想到的地方,但它仍然轉發到下一頁。
這裏有兩種方法我試過:
javascript:void((function(){
var s = document.createElement('script');
s.setAttribute('language','javascript');
s.setAttribute('src','http://localhost:3000/script/bookmarklet.js');
document.body.appendChild(s);
})());
和:
javascript:(function(){
var s = document.createElement('script');
s.setAttribute('language','javascript');
s.setAttribute('src','http://localhost:3000/script/bookmarklet.js');
document.body.appendChild(s);
void(0);
})();
能否其他.js文件是造成問題的原因?那就是:
(function() {
function create_form() {
var path = "http://localhost:3000/links";
var newform = document.createElement('form');
newform.setAttribute("method", "post");
newform.setAttribute("action", path);
newform.setAttribute("accept-charset","UTF-8");
var title_hidden_field = document.createElement("input");
title_hidden_field.setAttribute("type","hidden");
title_hidden_field.setAttribute("name", "link[title]");
title_hidden_field.setAttribute("value", "Test Title");
newform.appendChild(title_hidden_field);
var url_hidden_field = document.createElement("input");
url_hidden_field.setAttribute("type","hidden");
url_hidden_field.setAttribute("name", "link[url]");
url_hidden_field.setAttribute("value", "http://www.example.com");
newform.appendChild(url_hidden_field);
document.body.appendChild(newform);
newform.submit();
};
create_form();
})();
我試圖返回undefined有作爲,但轉發行爲並沒有改變。它可能與軌道處理表單發佈請求的方式有關嗎?
當您提交表單時,爲什麼它應該保持在同一頁上?默認情況下,當您發送表單時,您會轉到表單操作,並且代碼中沒有任何內容可以阻止此行爲。 –
啊,謝謝。我正在嘗試通過表單提交頁面信息,類似於Instapaper和其他書籤書籤。從我可以告訴我需要做的事情,如打開一個新的iframe來做到這一點。 – bobfet1