Hỏi về form email trong html
Chào mọi người. Mình có 1 đoạn code như dưới để khi người dùng nhập dữ liệu rồi submit thì sẽ mở email của họ ra với các trường như đã nhập bên dưới. Nhưng mình đang gặp 1 vấn đề là ví dụ trường subject mình nhập là: "Liên hệ với tôi" thì ở form email sau khi submit sẽ bị chuyển thành "Liên+hệ+với+tôi". Vậy cho mình hỏi làm thế nào để loại bỏ được dấu + vậy ạ? Mình cảm ơn.
<form action="mailto:example@gmail.com" method="GET">
subject:
<input name="subject" type="text" />
body:<br />
<textarea name="body"></textarea><br />
send:<br />
<input type="submit" value="Send" />
</form>
1 CÂU TRẢ LỜI
Bạn thử xử lý với mã javascript xem sao nhé:
<script language="javascript">
function sendMail () {
const email = "example@gmail.com";
const subject = document.getElementById("subject").value;
const body = document.getElementById("body").value;
window.location.href = `mailto:${email}?subject=${subject}&body=${body}`
}
</script>
<form>
subject:
<input id="subject" name="subject" type="text" />
body:<br />
<textarea id="body" name="body"></textarea><br />
send:<br />
<input type="button" value="Send" onclick="sendMail()" />
</form>
Chúc bạn thành công!
@phamtuananh760 mình chạy đc rồi. tks b. Với bạn cho mình hỏi thêm mình muốn cái body xử lý ở trong function js. Mình nối thêm các đoạn xuống dòng ví dụ:
Họ tên: ABC
Sđt: 08xxxx
Thì làm thế nào nhỉ bạn?
@sven_9x Bạn có thể dùng hàm encodeURIComponent() để format lại body như này
const body = encodeURIComponent(document.getElementById("body").value);
@phamtuananh760 mà bạn ơi. đoạn code của bạn thì có chạy đc trên window ko nhỉ? Mình đang code trên macbook?
@sven_9x được chứ bạn
@phamtuananh760 À mà chỉ có thể mở bằng app mail đúng ko bạn? có cách nào mở đc bằng web mail trên trình duyệt ko nhỉ bạn?