Bonjour à tous,
Je vous explique ma situation. J'ai écrit un formulaire dynamique (bouton ajout de champs supplémentaires) pour contourner les limites de notre CMS (Episerver). J'ai récupéré une fonction (je n'y connais rien en ASP, je suis un éditeur pour l'intranet) pour envoyer les données à une adresse mail.
J'ai déjà cherché dans le forum mais le problème est que je ne sais pas comment traiter les champs supplémentaires pour qu'ils apparaissent dans le mail (est-ce qu'on peut utiliser une variable?). Le fait étant que je ne peux pas faire des tests à volonté, seul le webmaster peut uploader la page dans un répertoire où le code est éxécutable.
Je recopie en dessous le code asp et les champs de mon formulaire. Merci d'avance pour tout aide, ça me rendrait un grand service!
Fonction ASP:
[CODE] <%
If Request.Form("btnSubmit") <> "" Then
Dim Message
Message =
Const cdoSendUsingPort = 2
Dim oConfiguration
Dim oMessage
Dim oFields
Set oMessage = CreateObject("CDO.Message")
Set oConfiguration = CreateObject("CDO.Configuration")
Set oFields = oConfiguration.Fields
' Set the CDOSYS configuration fields to use port
' 25 on the SMTP server.
With oFields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") _
= cdoSendUsingPort
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") _
= "mailhost.XXX.net"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") _
= 10
.Update
End With
' Apply the settings to the message.
With oMessage
Set .Configuration = oConfiguration
.To = "XX.XX@XX.com"
.Bcc = ""
.From = request.form("txtName")
.Subject = request.form("txtName") & " requests a publication"
.HTMLBody = Message
.Send
End With
' Clean up variables.
Set oMessage = Nothing
Set oConfiguration = Nothing
Set oFields = Nothing
Response.Redirect("XXX")
End If
%>[/CODE]
Champs du formulaire:
[CODE]<!--
var i=1;
var input_add;
function create_champ(){
var newDiv = input_add.parentNode.insertBefore( document.createElement('div'), input_add );
newDiv.id = 'champs_'+i;
newDiv.innerHTML = '<table><tbody><tr><td>Title</td><td colspan="5"><input name="title_'+i+'" id="ti_'+i+'" size="40" type="text"/></td></tr><tr><td>Author</td><td colspan="5"><input name="author_'+i+'" id="au_'+i+'" size="30" type="text"/></td></tr><tr><td>Journal</td><td colspan="5"><input name="journal_'+i+'" id="so_'+i+'" size="30" type="text"/></td></tr><tr><td style="width: 65px;">Year</td><td style="width: 65px;"><input name="year_'+i+'" id="ye_'+i+'" size="4"type="text"/></td><td style="width: 65px;">Volume</td><td style="width: 65px;"><input name="volume_'+i+'" id="vol_'+i+'" size="4"type="text"/></td><td style="width: 60px;">Pages</td><td style="width: 65px;"><input name="pages_'+i+'" id="pa_'+i+'" size="4"type="text"/></td></tr></tbody></table><br>';
if(i>1) document.getElementById('input_sup').style.display = 'inline';
if(i>100) input_add.style.display = 'none';
i++;
}
[/CODE]