Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何增加通过javascript电子邮件表单函数发送的最大字符数?_Javascript_Email_Textarea_Encodeuricomponent - Fatal编程技术网

如何增加通过javascript电子邮件表单函数发送的最大字符数?

如何增加通过javascript电子邮件表单函数发送的最大字符数?,javascript,email,textarea,encodeuricomponent,Javascript,Email,Textarea,Encodeuricomponent,我使用以下Javascript将值从5个textarea字段传递到电子邮件函数。我正在尝试创建一个“在线工作簿”,用户使用文本区域写出他们的笔记。我遇到的问题是,textarea字段中的文本被切断,一旦我达到了多余的字符数,就不会包括所有的textarea字段 有没有办法提高这一限制,使文本区域内的所有内容都可以通过电子邮件发送 <script> function emailForm(href) { var subject = "This form data"; var body =

我使用以下Javascript将值从5个textarea字段传递到电子邮件函数。我正在尝试创建一个“在线工作簿”,用户使用文本区域写出他们的笔记。我遇到的问题是,textarea字段中的文本被切断,一旦我达到了多余的字符数,就不会包括所有的textarea字段

有没有办法提高这一限制,使文本区域内的所有内容都可以通过电子邮件发送

<script>
function emailForm(href) {
var subject = "This form data";
var body = "Notes:\r\n\r\n";
body += "<ta1>\r\n";
body += document.getElementById("ta1").value;
body += "\r\n\r\n<ta2>\r\n";
body += document.getElementById("ta2").value;
body += "\r\n\r\n<ta3>\r\n";
body += document.getElementById("ta3").value;
body += "\r\n\r\n<ta4>\r\n";
body += document.getElementById("ta4").value;
body += "\r\n\r\n<ta5>\r\n";
body += document.getElementById("ta5").value;
body += "\r\n\r\n";
var uri = "mailto:?subject=";
uri += encodeURIComponent(subject);
uri += "&body=";
uri += encodeURIComponent(body);
window.open(uri);
}
</script> 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Send form data in an email</title>
</head>
<body>
<textarea id="ta1"></textarea>
<textarea id="ta2"></textarea>
<textarea id="ta3"></textarea>
<textarea id="ta4"></textarea>
<textarea id="ta5"></textarea>
<input type="button" onclick="emailForm();" value="Submit">
</body>
</html>

函数emailForm(href){
var subject=“此表单数据”;
var body=“注意:\r\n\r\n”;
正文+=“\r\n”;
body+=document.getElementById(“ta1”).value;
正文+=“\r\n\r\n\r\n”;
body+=document.getElementById(“ta2”).value;
正文+=“\r\n\r\n\r\n”;
body+=document.getElementById(“ta3”).value;
正文+=“\r\n\r\n\r\n”;
body+=document.getElementById(“ta4”).value;
正文+=“\r\n\r\n\r\n”;
body+=document.getElementById(“ta5”).值;
正文+=“\r\n\r\n”;
var uri=“mailto:?subject=”;
uri+=encodeURIComponent(主题);
uri+=“&body=”;
uri+=encodeURIComponent(body);
window.open(uri);
}
通过电子邮件发送表单数据

您正在处理的问题是关于
GET
请求的限制

使用
GET
请求时,您的方法url加上查询的总长度平均不得超过2000个字符,此限制取决于服务器和浏览器

您可以在此处查看详细信息:

通过这个问题,;您应该使用
POST
请求,这也取决于服务器的限制,但不取决于浏览器,此限制通常远高于典型的
GET
请求

------------- 由于您只使用HTML并将邮寄步骤留给客户端,因此我为您添加了一个示例表单:


评论1:

评论2:

评论3:

评论4:

评论5:


这取决于服务器。谢谢!我在这方面不是很在行。有没有什么资源可以帮助我将此代码更改为使用“post”请求?@user2400122您很好。你用哪种语言?PHP、Asp.Net或其他什么?我只使用html,因为我试图将其用作“脱机”选项。我对每一个都不太熟悉,但如果必须选择,我会选择Asp.Net。对不起,如果这没有任何意义的话@user2400122我已经更新了答案,看看是否适合你。谢谢@erhan。我试过了,但在邮件正文中没有看到任何文字。它依赖于什么吗?