【问题标题】:Button onclick won't work for Javascript query按钮 onclick 不适用于 Javascript 查询
【发布时间】:2018-03-10 16:35:29
【问题描述】:

嗨,我想知道是否有人能看出我做错了什么,

我有一个按钮,可以打开一封包含表单结果的电子邮件,

如果我将其作为文本链接进行,我可以使其正常工作

<a href="javascript:doMailTo(' ');">Click here to email </a>

但是我根本无法使按钮工作

<button onclick="doMailTo(' ');" value="toEmail">Send to Email</button>

我一直在玩各种变化,但我无法让它发挥作用!

链接和按钮可以紧挨着,文本链接在按钮不紧的时候有效!

谁能看出我做错了什么?

函数本身是

<script>
function doMailTo(addr) {
    location.href = "mailto:" + addr + "?subject=Flight Itinerary&body=" +
          encodeURI(document.getElementById('p3').textContent);
}
 </script>

它位于标题中

【问题讨论】:

  • 你能发布 doMailTo 函数声明吗?
  • 将其添加到问题中,干杯
  • 您可以在 onclick 函数调用中传递事件对象。然后在你的函数定义中防止默认它
  • 任何控制台错误?你还有其他脚本吗?看起来应该可以。
  • 按钮在&lt;form&gt;内吗?

标签: javascript forms button onclick


【解决方案1】:

表单中的按钮默认为type="submit",因此当单击时,它会尝试提交表单。指定type="button"

<button type="button" onclick="doMailTo(' ');" value="toEmail">Send to Email</button>

【讨论】:

  • 这只是按钮在表单中的问题。
  • 是的。我以为是。但是再次阅读问题,我发现它没有指定。
  • 是的,按钮在表单中,抱歉,不清楚!但这似乎有所帮助!谢谢
【解决方案2】:

在本地系统上试试这个:

愿这对你有用

 


$(document).ready(function() {
    $('#bt1').click(function() {
        $('#fr1').attr('action',
                       'mailto:test@test.com?subject=' +
                       $('#tb1').val() + '&body=' + $('#tb2').val());
        $('#fr1').submit();
    });
});
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

</head>
<body>
<form id="fr1">
    <input type="text" id="tb1" />
    <input type="text" id="tb2" />
    <input type="button" id="bt1" value="click" />
</form>

</body>
</html>

【讨论】:

  • 他使用的是纯 Javascript,而不是 jQuery。
猜你喜欢
  • 2021-12-23
  • 2020-06-29
  • 2012-11-23
  • 2020-10-17
  • 1970-01-01
  • 2016-08-07
  • 1970-01-01
  • 2020-01-27
  • 1970-01-01
相关资源
最近更新 更多