gpt4 book ai didi

javascript - html - 从文本区域获取换行文本

转载 作者:行者123 更新时间:2023-11-28 09:53:02 24 4
gpt4 key购买 nike

我正在尝试从文本区域获取自动换行符,而无需进行任何服务器调用。 This answer让我完成了 90% 的任务。问题是每次单击提交按钮时,页面都会在 iframe 内重新加载。代码如下:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<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>
</body>

</html>

单击提交按钮会输出:

loading
a b c d e
f

有没有办法阻止 iframe 重新加载页面?

最佳答案

您必须向表单的 onsubmit 事件返回 false。

<form name="form" method="get" target="frame" onsubmit="onIFrameLoad">

如果基于某些条件您不想加载

function onIFrameLoad() {
var text = getHardWrappedText();
console.log(text);
if(text.indexOf('\n')<0) return false;
}

我只是把一个随机的东西放在 text.indexOf('\n')<0 ,你可以拥有任何有意义的东西,或者总是返回 false(这看起来不太可能)

关于javascript - html - 从文本区域获取换行文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10568876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com