Bertons Ответов: 2

Как я могу отправить электронное письмо с помощью кнопки отправки?


Я не могу найти решение. Мне нужно отправить общую сумму по электронной почте с помощью кнопки отправки, но она не работает. Есть идеи?

--------------------------------------------------------------------------------------

<!DOCTYPE html>
<html>

<голова>
<meta charset="utf-8">
в <название&ГТ;Умный дом&ЛТ;/название&ГТ;
<стиль>

тело {
фоновое изображение: url("watchdogs2.gif");
цвет фона: #000000;
фон-повторить: не повторять;
фон-размер: обложка;
текст-тень: 2px 2px #000000;
белый цвет;
}

элемент fieldset {
цвет фона: #3e4f7c;
дисплей: встроенный блок;
текст-тень: 2px 2px #000000;
белый цвет;
}

h1 {
текст-тень: 2px 2px #000000;
белый цвет;
}

</стиль>
<тело>
<script type="text/javascript">
функция DisplayPrice(цена){
var val1 = 0;
для( i = 0; i < document.form1.price.длина; i++ ){
if( document.form1.price[i].checked == true ){
val1 = document.form1.price[i].value;
}
}

var val2 = 0;
для( i = 0; i < document.form2.price2.length; i++ ){
if( document.form2.price2[i].checked == true ){
val2 = document.form2.price2[i].value;
}
}

var val3 = 0;
для (i = 0; i < document.form3.price3.length; i++) {
если (документ.form3.price3[я].проверено == правда) {
val3 += parseInt( document.form3.price3[i].value);
}
}

var sum=parseInt(val1) + parseInt(val2) + parseInt(val3);
document.getElementById('totalSum').value=sum;
}

функция сброса() {
для (i = 0; i < document.form1.price.длина; i++)
document.form1.price[i].checked = false;


для (i = 0; i < document.form2.price2.length; i++)
document.form2.price2[i].checked = false


для (i = 0; i < document.form3.price3.length; i++)
документ.form3.price3[я].проверено = ложь

document.getElementById('totalSum').value = ";
}

функция SendMail() {
ссылка ВАР = "mailto:trendnet.website@gmail.com" +
"&subject=" + escape("это тема") +
"&body=" + escape("это тело здесь");
окно.местоположение.href = ссылка;
}

функция SendMail() {
var txtTotalAmount = document.getElementById('<%= txtTotalAmount.ClientID %>').значение;
оповещения(txtTotalAmount);
ссылка ВАР = "mailto:trendnet.website@gmail.com" +
- что?cc=abc@abc.com" +
"&subject=" + escape("это тема и общая сумма:" + txtTotalAmount) +
"&body=" + escape("это тело и общая сумма:" + txtTotalAmount);
окно.местоположение.href = ссылка;
}

</script>

</body>

<тело>
&ЛТ;п&ГТ;&ЛТ;/п&ГТ;
&ЛТ;и&ГТ;&ЛТ;Н1&ГТ;&ЛТ;шрифта цвет="белый"&ГТ;&ампер;усилитель; nbsp; Умный дом&ЛТ;/шрифт&ГТ;&ЛТ;/Н1&ГТ;&ЛТ;/я и GT;
&ЛТ;п&ГТ;&ЛТ;/п&ГТ;
<fieldset>
&ЛТ;легенда&ГТ;&ЛТ;б&ГТ;&ЛТ;и&ГТ;Группа 1:&ЛТ;/а&ГТ;&ЛТ;/б&ГТ;&ЛТ;/легенда и GT;
<имя формы="Форма form1" идентификатор="форма form1" атрибут runat="сервер"и GT;
<br>
&ЛТ;ИД входного="rdo_1" введите="" значение="1000" название="цена" Функция onclick="DisplayPrice(это.значение);"&ГТ;выбором 1 - &ампер;евро; 1.000,00
<br>
&ЛТ;ИД входного="rdo_2" введите="" значение="2000" имя="цена" Функция onclick="DisplayPrice(это.значение);"&ГТ;выбора 2 - &ампер;евро; 2.000,00
<br>
&ЛТ;ИД входного="rdo_3" введите="" значение="5000" имя="цена" Функция onclick="DisplayPrice(это.значение);"и GT;выбор 3 - и усилителя;евро; 5.000,00
&ЛТ;п&ГТ;&ЛТ;/п&ГТ;
</форма>
</fieldset>
&ЛТ;п&ГТ;&ЛТ;/п&ГТ;
<fieldset>
&ЛТ;легенда&ГТ;&ЛТ;б&ГТ;&ЛТ;и&ГТ;Группа 2:&ЛТ;/а&ГТ;&ЛТ;/б&ГТ;&ЛТ;/легенда и GT;
<имя формы="form2" id="form2" runat="сервер">
<br>
&ЛТ;ИД входного="rdo_1" введите="" значение="100" название="цена2" функция onclick="DisplayPrice(это.значение);"&ГТ;выбором 1 - &ампер;евро; 100,00
<br>
&ЛТ;ИД входного="rdo_2" введите="" значение="200" имя="цена2" функция onclick="DisplayPrice(это.значение);"&ГТ;выбора 2 - &ампер;евро; 200,00
&ЛТ;п&ГТ;&ЛТ;/п&ГТ;
</форма>
</fieldset>
&ЛТ;п&ГТ;&ЛТ;/п&ГТ;
<fieldset>
&ЛТ;легенда&ГТ;&ЛТ;б&ГТ;&ЛТ;и&ГТ;Группа 3:&ЛТ;/а&ГТ;&ЛТ;/б&ГТ;&ЛТ;/легенда и GT;
<имя формы="form3" id="form3" runat="сервер">
<br>
&ЛТ;ИД входного="rdo_1" тип="флажок" значение="100" название="price3" функция onclick="DisplayPrice(это.значение);"&ГТ;выбором 1 - &ампер;евро; 100,00
<br>
&ЛТ;ИД входного="rdo_2" тип="флажок" значение="200" имя="price3" функция onclick="DisplayPrice(это.значение);"&ГТ;выбора 2 - &ампер;евро; 200,00
<br>
&ЛТ;ИД входного="rdo_1" тип="флажок" значение="450" имя="price3" функция onclick="DisplayPrice(это.значение);"и GT;выбор 3 - и усилителя;евро; 450,00
<br>
&ЛТ;ИД входного="rdo_1" тип="флажок" значение="600" имя="price3" функция onclick="DisplayPrice(это.значение);"и GT;выбор 4 - усилителя;amp; евро; 600,00
<br>
&ЛТ;ИД входного="rdo_1" тип="флажок" значение="750" имя="price3" функция onclick="DisplayPrice(это.значение);"и GT;выбор 5 - &ампер;евро; 750,00
&ЛТ;п&ГТ;&ЛТ;/п&ГТ;
</форма>
</fieldset>
&ЛТ;п&ГТ;&ЛТ;/п&ГТ;
<fieldset>
&ЛТ;легенда&ГТ;&ЛТ;и&ГТ;&ЛТ;б&ГТ;общий размер:&ЛТ;/б&ГТ;&ЛТ;/а&ГТ;&ЛТ;/легенда и GT;
<граница таблицы="0">
<tr>
&ЛТ;тд атрибуты colspan="2" выровнять="левой"и GT;
<форма>
&ампер;евро; на <тип входного="текст" имя="totalSum" идентификатор="totalSum" значение="0" размер="3" только для чтения="только для чтения"и GT;,00
</td>
</tr>
<tr>
&ЛТ;тд присоединяются="левой"и GT;
&ЛТ;кнопка функция onclick="сбросить()"&ГТ;очистить&ЛТ; кнопка/&ГТ;
</форма>
</td>
</tr>
</Таблица>
</fieldset>
&ЛТ;п&ГТ;&ЛТ;/п&ГТ;
<fieldset>
&ЛТ;легенда&ГТ;&ЛТ;и&ГТ;&ЛТ;б&ГТ;представить:&ЛТ;/б&ГТ;&ЛТ;/а&ГТ;&ЛТ;/легенда и GT;
<граница таблицы="0">
<tr>
&ЛТ;тд присоединяются="левой"и GT;
в <тип входного="отправить" название="кнопка" ID="кнопка 1"и GT;
&ЛТ;АСП:кнопка ID="кнопка 1" атрибут runat="сервер" текст="кнопка" OnClientClick="sendmail-а()" /&ГТ;
&ЛТ;АСП:текстовое поле с ID="txtTotalAmount" атрибут runat="сервер" текст="18097 РС."&ГТ;

</td>
</tr>
</Таблица>

</body>
</html>

Что я уже пробовал:

Я только что попытался изменить код, но он все еще не хочет работать...

F-ES Sitecore

Это может быть связано с тем, что вы вкладываете формы, однако отправка формы на адрес электронной почты не будет включать в себя данные, вам нужно будет предоставить поле под названием "тело", которое содержит текст для включения в электронное письмо. Традиционно вы бы использовали ссылку типа

email@address.com?subject=Subject здесь&body=Тело здесь

Однако не все браузеры поддерживают "тело", и все, что он делает, - это запрашивает запуск почтового клиента по умолчанию, он на самом деле не собирается отправлять электронное письмо. Если вы хотите отправить электронное письмо, вам нужно будет использовать какую-то серверную технологию, такую как php, asp.net и т.д.

Bertons

О, спасибо за помощь. Что же мне тогда делать? Я имею в виду, если бы я хотел сделать поле "тело", как бы я мог?

F-ES Sitecore

Поместите поле в форму и назовите его телом

<form action="mailto:me@here.com">
<input type="text" name="body" />
<input type="submit" />
</форма>

Bertons

Извините за мой вопрос, но я понятия не имею, как поместить поле в форму и назвать его телом. Спасибо за ваше терпение

F-ES Sitecore

У вас есть форма внутри формы, которая не будет работать

&ltform>
....
&ltform>

Вы также, кажется, используете asp.net в любом случае, забудьте о попытке сделать это, отправив сообщение на адрес электронной почты, просто предоставьте кнопку "Отправить письмо" и обработайте ее в своем серверном коде.

Если вы должны перист с этим, то поместите свое поле sum после формы с runat=server

<имя формы="form3" id="form3" runat="сервер">
// форма здесь
</форма>

<form action="email@address.com">
в <тип входного="текст" имя="тело" идентификатор="totalSum" значение="" размер="3" только для чтения="только для чтения"и GT;

Если вы не можете перемещать поля формы, то поместите форму после формы и дайте ей скрытое поле под названием body

&ЛТ;действие формы="email@address.com" идентификатор="mailForm"&ГТ;
в <тип входного="скрытый" имя="тело" и GT;

Когда вы обновляете свое текстовое поле со значением, обновите также скрытое поле и дайте вашей кнопке отправки событие щелчка, а на событии щелчка отправьте форму почтовой формы.

Bertons

Я не могу заставить его работать... Я имею в виду, я не знаю точно, что делать. Спасибо за помощь но я не могу заставить ее работать

Bertons

Я только что отредактировал вопрос, чтобы вы могли увидеть весь документ, это может быть полезно

2 Ответов

Рейтинг:
17

Sarita Mall

I Hope this will work for you.At my end it is working fine.Thanks:)


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>SmartHOME</title>
    <style>
        body
        {
            background-image: url("");
            background-color: #000000;
        }
        fieldset
        {
            background-color: #996b6b;
            display: inline-block;
        }
        h1
        {
            text-shadow: 2px 2px #000000;
        }
    </style>
    <body>

        <script type="text/javascript">
            function DisplayPrice(price) {
                var val1 = 0;
                for (i = 0; i < document.form1.price.length; i++) {
                    if (document.form1.price[i].checked == true) {
                        val1 = document.form1.price[i].value;
                    }
                }

                var val2 = 0;
                for (i = 0; i < document.form2.price2.length; i++) {
                    if (document.form2.price2[i].checked == true) {
                        val2 = document.form2.price2[i].value;
                    }
                }

                var val3 = 0;
                for (i = 0; i < document.form3.price3.length; i++) {
                    if (document.form3.price3[i].checked == true) {
                        val3 += parseInt(document.form3.price3[i].value);
                    }
                }

                var sum = parseInt(val1) + parseInt(val2) + parseInt(val3);
                document.getElementById('totalSum').value = sum;
            }

            function reset() {
                for (i = 0; i < document.form1.price.length; i++)
                    document.form1.price[i].checked = false;


                for (i = 0; i < document.form2.price2.length; i++)
                    document.form2.price2[i].checked = false


                for (i = 0; i < document.form3.price3.length; i++)
                    document.form3.price3[i].checked = false

                document.getElementById('totalSum').value = '';

            }
        </script>

        <script type="text/javascript">

            function SendMailwithAmount() {
                var txtTotalAmount = document.getElementById('totalSum').value;
                alert(txtTotalAmount);
                var link = "mailto:abc@abc.com" +
             "?cc=abc@abc.com" +
             "&subject=" + escape("This is subject and total amount is: " + txtTotalAmount) +
             "&body=" + escape("This is body and total amount is: " + txtTotalAmount);
                window.location.href = link;
            }
    
        </script>

    </body>
    <body>
        <p>
        </p>
        
            <h1>
                <font color="white">  SmartHOME</font></h1>
        
        <p>
        </p>
        <fieldset>
            <legend>Group 1:</legend>
            <form name="form1" id="form1" runat="server">
            <br>
            <input id="rdo_1" type="radio" value="1000" name="price" onclick="DisplayPrice(this.value);">Choice
            1 - € 1.000,00
            <br>
            <input id="rdo_2" type="radio" value="2000" name="price" onclick="DisplayPrice(this.value);">Choice
            2 - € 2.000,00
            <br>
            <input id="rdo_3" type="radio" value="5000" name="price" onclick="DisplayPrice(this.value);">Choice
            3 - € 5.000,00
            <p>
            </p>
            </form>
        </fieldset>
        <p>
        </p>
        <fieldset>
            <legend>Group 2:</legend>
            <form name="form2" id="form2" runat="server">
            <br>
            <input id="rdo_1" type="radio" value="100" name="price2" onclick="DisplayPrice(this.value);">Choice
            1 - € 100,00
            <br>
            <input id="rdo_2" type="radio" value="200" name="price2" onclick="DisplayPrice(this.value);">Choice
            2 - € 200,00
            <p>
            </p>
            </form>
        </fieldset>
        <p>
        </p>
        <fieldset>
            <legend>Group 3:</legend>
            <form name="form3" id="form3" runat="server">
            <br>
            <input id="rdo_1" type="checkbox" value="100" name="price3" onclick="DisplayPrice(this.value);">Choice
            1 - € 100,00
            <br>
            <input id="rdo_2" type="checkbox" value="200" name="price3" onclick="DisplayPrice(this.value);">Choice
            2 - € 200,00
            <br>
            <input id="rdo_1" type="checkbox" value="450" name="price3" onclick="DisplayPrice(this.value);">Choice
            3 - € 450,00
            <br>
            <input id="rdo_1" type="checkbox" value="600" name="price3" onclick="DisplayPrice(this.value);">Choice
            4 - € 600,00
            <br>
            <input id="rdo_1" type="checkbox" value="750" name="price3" onclick="DisplayPrice(this.value);">Choice
            5 - € 750,00
            <p>
            </p>
            </form>
        </fieldset>
        <p>
        </p>
        <fieldset>
            <legend>TOTAL AMOUNT</legend>
            <table border="0">
                <tr>
                    <td colspan="2" align="left">
                        <form>
                        €
                        <input type="text" name="totalSum" id="totalSum" value="" size="3" readonly="readonly">
                        ,00
                    </td>
                </tr>
                <tr>
                    <td align="left">
                        <button onclick="SendMailwithAmount()">
                            Submit </button>
                        //this is where I have to put the submit button
                    </td>
                    <td align="left">
                        <button onclick="reset()">
                            Clear all</button>
                        </form>
                    </td>
                </tr>
            </table>
        </fieldset>
    </body>
</html>


Bertons

Это только появляется окно сверху, которое говорит: "эта страница говорит (общая сумма)".
Хорошо, подождите, я пришлю вам последнее обновление моей страницы, это было старое.
Я собираюсь улучшить этот вопрос

Sarita Mall

Outlook установлен в вашей системе или нет?

Bertons

Нет, это не так. В этом-то и проблема?

Sarita Mall

Да.Вот в чем проблема.Сначала вам нужно установить его.затем попробуйте вышеуказанное решение.

Bertons

Хорошо, большое вам спасибо. Сейчас вернусь

Sarita Mall

https://www.codeproject.com/Questions/785941/How-to-send-email-in-HTML-using-javascript

Проверка : Решение 4

Bertons

Большое вам спасибо! Теперь все в порядке!

Bertons

Я очень ценю вашу помощь, большое вам спасибо!

Рейтинг:
0

Sarita Mall

Привет ,

Пожалуйста, найдите приведенное ниже решение.

при клике на кнопку Использовать нижеприведенный JavaScript фикцию.

function SendMail() {
         var link = "mailto:abc@abc.com" +
          "?cc=bcd@bcd.com" +
          "&subject=" + escape("This is subject") +
          "&body=" + escape("This is body here you can pass the Price data");
         window.location.href = link;
     }


Bertons

- Эй! Спасибо за решение, у меня есть только несколько вопросов. Во вторую почту что я должен положить? Должен ли я изменить "субъект" и "тело" в чем-то другом? Мне нужно только сделать в самом низу или мне нужно сделать подчинение? Спасибо за ваше терпение

Sarita Mall

Вызовите функцию sendMail при нажатии кнопки submit. И вы можете сделать изменения в предмете, теле согласно вашему требованию.
Спасибо

Bertons

Итак, я просто сделал кнопку отправки под названием "отправить почту", Вот так:

ввод типа="отправить" название="sendmail-а" ИД="sendmail-а" значение="отправить"

..так что теперь мне нужно знать только одну вещь, которую я не могу понять.
Как я могу отправить электронное письмо на свой адрес электронной почты с "totalSum" страницы. Что я должен вложить в "предмет" и в "тело"? Не могли бы вы привести мне пример, пожалуйста. Огромное спасибо

Sarita Mall

попробовать это:
функция SendMail() {
var txtTotalAmount = document.getElementById('<%= txtTotalAmount.ClientID %>').значение;
оповещения(txtTotalAmount);
ссылка ВАР = "mailto:abc@abc.com" +
- что?cc=abc@abc.com" +
"&subject=" + escape("это тема и общая сумма:" + txtTotalAmount) +
"&body=" + escape("это тело и общая сумма:" + txtTotalAmount);
окно.местоположение.href = ссылка;
}

HTML:

&ЛТ;АСП:кнопка ID="кнопка 1" атрибут runat="сервер" текст="кнопка" OnClientClick="sendmail-а()" /&ГТ;
&ЛТ;АСП:текстовое поле с ID="txtTotalAmount" атрибут runat="сервер" текст="18097 РС."&ГТ;

Теперь вам нужно заменить свой элемент управления total amount textbox/lable (т. е. txtTotalAmount) в приведенном выше коде.

Bertons

Я не работаю...
Думаю, я просто сделаю это по-другому...
В любом случае, большое вам спасибо, хорошего дня!

Sarita Mall

не могли бы вы дать мне знать, что не работает с вашей стороны? Как я проверил его работу.

Bertons

Конечно, я имею в виду, что проблема во мне. Я никогда не использовал JavaScript, так что это довольно сложно для меня...

Bertons

Это и есть HTML:

&ЛТ;АСП:кнопка ID="кнопка 1" атрибут runat="сервер" текст="кнопка" OnClientClick="sendmail-а()" /&ГТ;
&ЛТ;АСП:текстовое поле с ID="txtTotalAmount" атрибут runat="сервер" текст="18097 РС."&ГТ;

Это Java скрипт:

функция SendMail() {
var txtTotalAmount = document.getElementById('<%= txtTotalAmount.ClientID %>').значение;
оповещения(txtTotalAmount);
ссылка ВАР = "mailto:trendnet.website@gmail.com" +
- что?cc=abc@abc.com" +
"&subject=" + escape("это тема и общая сумма:" + txtTotalAmount) +
"&body=" + escape("это тело и общая сумма:" + txtTotalAmount);
окно.местоположение.href = ссылка;
}

Bertons

Я не вижу части тела! Ты можешь заставить меня увидеть это? Вот это было бы совершенство!

Sarita Mall

Пожалуйста, проверьте решение 2