PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Remplir un formulaire web avec HTTPEnvoieFormulaire ?
Remplir un formulaire web avec HTTPEnvoieFormulaire ?
Débuté par Viko54, 23 mai 2018 23:12 - Aucune réponse
Membre enregistré
15 messages
Posté le 23 mai 2018 - 23:12
Bonjour à tous,

Je souhaite intégrer à l'un de mes logiciels, la possibilité d'obtenir marque et modèle d'un véhicule à partir de son immatriculation. De nombreux sites internet proposent des formulaires très simples, où il suffit de remplir le champ "plaque d'immatriculation" pour obtenir une page web contenant les informations.
J'ai donc souhaité utiliser l'un de ces sites internet (paruvendu.fr) pour obtenir ces infos, en utilisant les fonctions "HTTPCrééFormulaire", "HTTPAjouteParamètre" et "HTTPEnvoieFormulaire".

1) Voici le code html/php de la page et notamment du formulaire en question (form):
<form name="formImmat" id="formImmat" action="#" novalidate="novalidate">
<input type="hidden" id="immat_codeRubrique" name="codeRubrique" value="VVO00000" />
<input type="hidden" id="immat_typeAction" name="typeAction" value="fichetechniqueauto" />
<p>Entrez votre numéro d'immatriculation</p>
<div class="cotea16-zoneipt cotea16-iptimm">
<div class="cotea16-chpimm">
<div class="cotea16-immatriculationwrapper">
<input type="text" id="immatriculation" name="immatriculation" value="" placeholder="N° d'immatriculation" class="textbox" tabindex="1" />
</div>
<div class="fin"></div>
<p class="texteaide" style="display:inline;">Saississez votre numéro<br/>sans espace et sans tiret, ex.: AA001AA</p>
</div>
<div class="estim15-errchamp" style="display:none;" id="pap_err_cuImmat"></div>
<button class="creaal15-btnclassic" id="btnValidImmat" type="button">Valider votre numéro</button>
<div class="fin"></div>
<p class="texteaide" style="display:inline;"><a href="#popin_infoimmatriculation" id="infoimmatriculation" class="fcbx_infoimmatriculation">Information sur les données d'immatriculation</a></p>
</div>
<script type="text/javascript">

$(document).ready(function() {
$('#btnValidImmat').click ( function(event) {
immatriculation = $('#immatriculation').val()
if(immatriculation == "" || (/[A-Za-z]{2}[0-9]{3}[A-Za-z]{2}/.test(immatriculation) == false && /^[1-9][0-9]{0,4}[A-Za-z]{1,3}(0[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|2A|2B|2a|2b)$/.test(immatriculation) == false)) {
$('#pap_err_cuImmat').html("Merci de renseigner un numéro d'immatriculation valide (exemple: \"4513AEM69\" ou \"AA001AA\").").show();
} else {
$('#pap_err_cuImmat').hide();
defaultValue = {
'codeRubrique': $('#immat_codeRubrique').val(),
'typeAction': $('#immat_typeAction').val(),
'immatriculation': immatriculation
};

$('#pap_err_cuImmat').html("Recherche en cours, merci de patienter...").show();
$.ajax({
url: '/auto-moto/fichetechniquefo/default/validateimmat',
data: defaultValue,
dataType: 'json',
success: function(data, textStatus, jqXHR) {
if (data.isOK ) {
if (data.urlRetour != "") {
$(location).attr('href', data.urlRetour);
} else {
$('#pap_err_cuImmat').html("Aucun modèle correspondant à votre plaque d'immatriculation n'a été trouvé.").show();
}
} else {
$('#pap_err_cuImmat').html(data.message).show();
}
}
});
}
});
});

</script>
</form>


2) Voici ensuite le code de mon logiciel Windev afin de remplir et d’exécuter le formulaire :

sResultat est une chaîne

HTTPCréeFormulaire("formImmat")
HTTPAjouteParamètre("formImmat","immatriculation","AL006SW")
sResultat = HTTPDonneRésultat(HTTPEnvoieFormulaire("formImmat","https://www.paruvendu.fr/fiches-techniques-auto"))
SAI_Texte1 = sResultat
SAI_Texte_HTML = sResultat


3) Et enfin, voici le résultat obtenu...

HTTP/1.1 200 OK
Date: Wed, 23 May 2018 20:47:36 GMT
Server: Apache
Strict-Transport-Security: max-age=31536000
X-Powered-By: PHP/7.0.19
Set-Cookie: idSessionDonneesOff=1; path=/; domain=.paruvendu.fr
X-Frame-Options: SAMEORIGIN
Vary: Accept-Encoding
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1


Ma question est la suivante : Est-il possible d'obtenir les infos à partir d'un formulaire de ce type ? Si oui, qu'est-ce que j'oublie dans mon code ? J'avoue que j'ai du mal à comprendre ce concept de "remplissage" et d'éxecution de formulaire à partir de Windev...

Merci d'avance pour votre aide !
Cordialement,

V. Marchal