Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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 如何防止表单字段在使用HTML邮件时出现在邮件正文中?_Javascript_Html_Message_Mailto - Fatal编程技术网

Javascript 如何防止表单字段在使用HTML邮件时出现在邮件正文中?

Javascript 如何防止表单字段在使用HTML邮件时出现在邮件正文中?,javascript,html,message,mailto,Javascript,Html,Message,Mailto,我正在玩mailto:,我想知道为什么我用来收集要放入电子邮件客户端字段的数据的表单也会出现在邮件正文中,如下所示: hello // test body msg_address=hello@some.com msg_comment=hello msg_cc_message=on 我的表单action属性设置如下: var form = $(this).closest('form'), first = "info", last = "some.com" mailt

我正在玩
mailto:
,我想知道为什么我用来收集要放入电子邮件客户端字段的数据的表单也会出现在邮件正文中,如下所示:

hello   // test body
msg_address=hello@some.com
msg_comment=hello
msg_cc_message=on 
我的表单
action
属性设置如下:

var form = $(this).closest('form'),
    first = "info",
    last = "some.com"
    mailto = "mailto:"+first+"@"+last+"?",
    subject = "subject=Website enquiry&",
    message = "body="+$('#msg_comment').val(),
    bcc = $('#msg_cc').is(':checked') ? "bcc=" + form.find('#msg_address').val() + "&" : "";

form.attr("action",mailto+bcc+subject+message).submit()
我希望消息正文只包含
message
中设置的内容,而不是包括表单字段名在内的整个表单内容

问题
有没有办法防止表单字段显示在消息体中

编辑:
这是我的表格:

<form action="" method="post" enctype="text/plain" name="mailer">
    <label for="msg_address" data-i18n="contact.label_email" class="t">Email:</label>
    <input data-role="text" type="text" id="msg_address" name="msg_address" value="" maxlength="100" />

    <label for="msg_comment" data-i18n="contact.label_message" class="t">Your Message:</label>
    <textarea rows="10" cols="20" id="msg_comment" name="msg_comment"></textarea><br />

    <input type="checkbox" name="msg_cc" id="msg_cc" class="t" data-i18n-target="" data-i18n="" />
    <label for="msg_cc" data-i18n="contact.label_cc" data-i18n-target=".ui-btn-text" class="t">CC to Email address provided</label>

    <div data-role="controlgroup" data-type="horizontal" class="mailer_menu">
      <input type="reset" value="Reset" data-i18n="contact.delete" data-i18n-target="" class="t" />
      <input type="button" id="mail_trigger" value="Send" data-i18n="contact.send" class="t" data-iconpos="right" data-i18n-target="" data-theme="b" data-icon="arrow-r" />
    </div>
  </form>

电邮:
您的留言:

抄送至提供的电子邮件地址
提交表单时,根据定义,表单将向指定目标发送输入,如(input、textarea等)元素的数据

现在在javascript中,您可以更改action属性以创建格式更为良好的电子邮件模板,但表单中仍然包含所有输入,因此根据定义,它们将添加到正文中

为了防止这种情况,您可以在html中放入一个隐藏的表单,其中没有类似于输入的元素,甚至是一个自关闭的元素,然后修改操作并提交该表单。甚至在飞行中创建一个


这样,你就不会在电子邮件中有任何你不想要的东西。请注意取消第一个表单的提交。

注释
#msg_
是什么样子?@Blender:这是一个文本区域字段。我在上面加了表格