У меня есть контактная форма, которая может отображать ошибки, но когда пользователи нажимают кнопку «Отправить сообщение», мое уведомление об успешной отправке не отображается.Я попытался найти другие контактные формы и попытаться использовать другие пакеты уведомлений, но ничего не помогло.
Я пробовал emailjs, nodemailer и sendgrid в качестве других способов отправки электронной почты с реагированием.Я также попытался использовать response-modal, toastr и now mobiscroll, чтобы посмотреть, смогу ли я увидеть, будет ли отображаться уведомление, но ничего не происходит, кроме состояния 200 в консоли.
sentMessage Функция со состояниями выше.
sentMessage(event) {
event.preventDefault();
if (!this.validateMail()) {
return;
}
var templateParams = {
from_name: this.state.name + '{' + this.state.email + '}',
to_name: 'MY_EMAIL',
phone_number: this.state.phone,
message_html: this.state.message
}
emailjs.send('gmail', 'TEMPLATE_ID', templateParams, 'USER_ID')
.then(function (response) {
mobiscroll.toast({
message: 'Your message has been sent',
color: 'success',
display: 'top'
});
console.log('SUCCESS!', response.status, response.text);
}, function (err) {
mobiscroll.toast({
message: 'Something happened while being sent',
color: 'danger',
display: 'top'
});
console.error(err);
});
this.setState({
name: '',
email: '',
phone: '',
message: '',
});
}
Предоставлено HTML
<form
id={this.props.id}
className={this.props.className}
name={this.props.name}
method={this.props.method}
action={this.props.action}
>
<Input
type='text'
name='name'
className='form-control'
required='required'
onChange={this.handleInputChange.bind(this)}
value={this.state.name}
error={this.state.errors.name}
/>
<Input
type='email'
name='email'
className='form-control'
required='required'
onChange={this.handleInputChange.bind(this)}
value={this.state.email}
error={this.state.errors.email}
/>
<Input
type='tel'
name='phone'
className='form-control'
required='required'
onChange={this.handleInputChange.bind(this)}
value={this.state.phone}
error={this.state.errors.phone}
/>
<TextArea
name='message'
id='message'
required='required'
className='form-control'
rows='8'
onChange={this.handleInputChange.bind(this)}
value={this.state.message}
error={this.state.errors.message}
/>
<Button
onClick={this.sentMessage.bind(this)}
type='button'
name='submit'
className='btn btn-success btn-lg'
required='required'
/>
</form>