表单文本区域创建一个URL



我有一个非常简单的需求。

我想要一个文本区域,其中填充了一行ID——每个ID都将在一行新行上。

我如何从中生成URL?

12345
09876

提交后应生成https://xx.com/12345&09876

我一直在使用这个Form值创建一个URL,并将其更改为文本区域,但无法将每个换行符更改为"&"在url字符串中。

任何帮助都将是惊人的!

<script type="text/javascript">
function goToPage() {
var page = document.getElementById('page').value;
window.location = "https://google.com/" + page;
}

</script>
<textarea name="textarea" style="width:250px;height:150px;" id="page"></textarea>
<input type="submit" value="submit" onclick="goToPage();" />

您可以通过n分割以获得每行中的字符,并通过&连接,然后删除最后一个字符:

var url = txt.value.split("n").join("&").slice(0, -1);
console.log(url);
<textarea id="txt">
12345
09876
</textarea>

在表格的情况下:

txt.addEventListener('input', function(){
form.action = txt.value.split("n").join("&").slice(0, -1);
console.log(form.action);
})
<textarea id="txt">
12345
09876
</textarea>
<form id="form">
<button>Submit</button>
</form>


在您的特殊情况下:

<textarea name="textarea" style="width:250px;height:150px;" id="page"></textarea>
<input type="submit" value="submit" onclick="goToPage();" />
<script type="text/javascript">
function goToPage() {
var page = document.getElementById("page").value.split("n").join("&");
alert(page);
window.location = "https://google.com/" + page;
}

</script>

您可以使用JavaScript替换函数替换字符串中的文本,如下所示:

var newString = oldString.replace(/(rn|r|n)/g, '&');

这一行采用字符串变量oldString(它应该包含带有所有换行符的数据(,并将所有换行符更改为与号。它使用一个叫做正则表达式的东西来查找所有的换行符。

因此,对于您的HTML:

<script type="text/javascript">
function goToPage() {
var page = document.getElementById('page').value;
window.location = "https://google.com/" + page.replace(/(rn|r|n)/g, '&');
}

</script>
<textarea name="textarea" style="width:250px;height:150px;" id="page"></textarea>
<input type="submit" value="submit" onclick="goToPage();" />

尝试通过n分割文本区域:

var split_text = your_text_area.split("n"); // Replace your_text_area

将在文本区域中传递的字符串将被n(换行(拆分,每一行都将插入split_text变量中,该变量是一个数组。

然后,您可以从数组中生成一个URL,如下所示:

var url = '';
for(let i = 0; i < split_text.length; i++)
{
url += split_text[i];

if((i+1) != split_text.length) // <-- Not the most optimized way to do it
{
url += "&";
}
}

相关内容

  • 没有找到相关文章

最新更新