1
我試圖從textarea中獲取包裝換行符而不需要進行任何服務器調用。 This answer讓我有90%的方式。問題在於,每次單擊提交按鈕時,頁面都會重新加載到iframe中。下面的代碼:html - 從textarea獲取包裝文本
<html><body>
<script type="text/javascript">
function getURLParameter(qs, name) {
var pattern = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp(pattern);
var res = regex.exec(qs);
if (res == null)
return "";
else
return res[1];
}
function getHardWrappedText() {
var frm_url = document.getElementById('frame').contentDocument.URL;
var text = unescape(getURLParameter(document.getElementById('frame').contentDocument.URL, 'text')).replace(/\+/g,' ');
return text;
}
function onIFrameLoad() {
var text = getHardWrappedText();
console.log(text);
}
window.onload = function() { console.log("loading") } ;
</script>
<form name="form" method="get" target="frame">
<textarea id="text" name="text" cols=5 wrap="hard">a b c d e f</textarea>
<input type="submit">
</form>
<iframe id="frame" name="frame" onload="onIFrameLoad()" style="display:none;"></iframe>
點擊提交按鈕使輸出:
loading
a b c d e
f
有沒有辦法阻止的iframe從重新加載頁面?
我總是希望提交表單,而不是整個頁面重新加載。有沒有創建一個空的iframe? – user1391697
要提交內容並且沒有可視指示,您可以定義非常小的iframe(1x1),因爲'display:none'在iframe上不能很好地工作。如果意圖是在後臺提交某些內容,我會建議使用AJAX。 – fozylet
我不擔心內容顯示('display:none;'照顧就好了)。我不想重新運行'window.onload'中的邏輯。那有意義嗎? – user1391697