PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Remplir un formulaire web avec HTTPEnvoieFormulaire ?
Remplir un formulaire web avec HTTPEnvoieFormulaire ?
Started by Viko54, May, 23 2018 11:12 PM - No answer
Registered member
15 messages
Posted on May, 23 2018 - 11:12 PM
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