Я пытаюсь отправить форму сообщения в Salesforce, как показано ниже:
//send email
wp_mail($idata_email, $request_name, $our_message, $headers );
//submit form to salesforce
jQuery("#myform1").submit();
или же
document.myform1.submit();
//form action="https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" id="myform1" method="post" >
</form>
Код:
if( $insert_lead == 1 )
{
switch( strtolower($request_name) )
{
case 'table of contents':
case 'report synopsis':
case 'report pricing':
echo '<form action="https://www.google.com/servlet/servlet.WebToLead?encoding=UTF-8" id="myform1" name="myform1" method="post" >'.
'<input type="hidden" name="oid" value="fake">'.
'<input type="hidden" name="retURL" value="fake">'.
'<input type="hidden" id="first_name" name="first_name" value="'. $wp_session['first_name'] .'">'.
'<input type="hidden" id="last_name" name="last_name" value="'. $wp_session['last_name'] .'">'.
'<input type="hidden" id="email" name="email" value="'. $wp_session['email'] .'">'.
'</form>';
?>
<script>
jQuery("#myform1").submit();
</script>
<?php
wp_mail($idata_email, $request_name, $our_message, $headers );
wp_mail($email, $request_name , $client_message, $headers );
break;
case 'executive summary':
echo "<script>
jQuery(\".wp-cart-button-form\").submit();
</script>";
break;
}
}
PS: когда я комментирую метод отправки электронной почты, форма публикуется во всех браузерах, но мне нужно отправить электронное письмо и сделать сообщение.
Кто-нибудь знает, что происходит? а как решить?
Спасибо
Просто предположение здесь. Но вы пытались изменить порядок кода в таком порядке?
<?php
wp_mail($idata_email, $request_name, $our_message, $headers );
wp_mail($email, $request_name , $client_message, $headers );
?>
<script>
jQuery("#myform1").submit();
</script>
Я подозреваю, что когда вы отправляете форму до того, как функция wp_mail запустит страницу, она уже перестанет загружать / обрабатывать коды ниже части submit ().
Других решений пока нет …