11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'essaie de réaliser une page comme celle-ci mais je rencontre un problème au niveau de la réalisation de l'espace pour la signature. Et je n'ai pas compris l'intégration des DataTables, Faut il que je fasse la trame de mon tableau et que je bascule mon formulaire dessus par la suite. Je tiens à spécifier que tout ça est tout nouveau pour moi et que je me perd un peu ne tre le javascript et le php.

Pourriez vous m'aiguiller ?
Modérateur
Salut,

Il n'y a pas besoin de javascript pour ce que tu veux faire.
Tu crées un fichier plat (text plain) et chaque ligne vaudra une signature. Tu sépares les données écrites par des points virgules ou ce que tu veux en fait (ex : %% ou {une donnée}{une autre donnée] ou etc.)

Comment faire ? php débutant devrait t'aider.

Regarde comment on traite un formulaire et comment on écrit dans un fichier txt.
Merci beaucoup Smiley lol Super page qui est de suite rentrée dans mes favoris Smiley lol Par contre j'ai un autre soucis peut être que vous pouvez m'aider (je ne sais pas si ça vaut la pein d'ouvrir un autre sujet ou pas) j'ai crée un canvas pour réaliser un encart de signature. Néanmoins je n'arrive pas à le faire remonter.
Rapidement, je souhaiterais le faire remonter dans un tableau afin d'avoir le formulaire rempli c a d nom prénom etc et signature dans l'encart <td></td> je pense comprendre le principe de l'enregistrer comme png et de le récupérer via une variable comme les différent élément du formulaire type : $_POST.

Sauf que j'aimerais que l'url DATA (que je n'arrive bien sur pas à récupérer) se place dans le fichier html construit en tableau. J'ai essayé avec var canvas = document.getElementbyId() et var img = canvas.toDataURL("img/png);
Mais vu que j'ai bêtement appliqué un copier coller sans rien comprendre ça n'a pas été fructueux.

Je sais pas si je suis très claire : voici mes différents fragments de codes :

CODE POUR LA SIGNATURE :

<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<style>
canvas {
border: 1px solid #ccc;
}
</style>
</head>

<body onload="init();">
<div id="canvasDiv" name="canvasDiv">
<canvas id="myCanvas" name="myCanvas" width="500" height="300"></canvas>
<script type="text/javascript">
document.write('<img src="'+img+'"/>');
</script>
</div>

<script type="text/javascript">
var currentPos, previousPos;
var canvas, context, started;

function writeMessage(canvas, message) {
var context = canvas.getContext('2d');
context.clearRect(0, 0, canvas.width, canvas.height);
context.font = '18pt Calibri';
context.fillStyle = 'black';
context.fillText(message, 10, 25);
}

function getMousePos(canvas, evt) {
// get canvas position
var obj = canvas;
var top = 0;
var left = 0;
while (obj && obj.tagName != 'BODY') {
top += obj.offsetTop;
left += obj.offsetLeft;
obj = obj.offsetParent;
}

// return relative mouse position
var mouseX = evt.clientX - left + window.pageXOffset;
var mouseY = evt.clientY - top + window.pageYOffset;
return {
x:mouseX,
y:mouseY
};
}



function clicked(evt) {
previousPos = getMousePos(canvas, evt);
started = true;
}

function released(evt) {
started = false;
}

function drawLine(previousPos, currentPos) {
context.beginPath();
context.moveTo(previousPos.x, previousPos.y);
context.lineTo(currentPos.x, currentPos.y);
context.stroke();
}

function init () {
canvas = document.getElementById('myCanvas');
context = canvas.getContext('2d');
started = false;


canvas.addEventListener('mousedown', clicked);
canvas.addEventListener('mouseup', released);

canvas.addEventListener('mouseout', function() {
console.log("mouse out");
released();
});

canvas.addEventListener('mousemove', function (evt) {
currentPos = getMousePos(canvas, evt);
var message = "Mouse position: " + currentPos.x + "," + currentPos.y;
// TRY TO UNCOMMENT THIS LINE !
//writeMessage(canvas, message);

// Let's draw some lines that follow the mouse pos
if (started) {
drawLine(previousPos, currentPos);

previousPos = currentPos;
}
}, false);


}





</script>


</body>
</html>

CODE FORMULAIRE TRAITEMENT :

<!DOCTYPE html>

<html lang="fr">

<head>

<title>Google pro</title>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1">

<link href="bootstrap/css/bootstrap.css" rel="stylesheet">
<link href="bootstrap/css/style.css" rel="stylesheet"></link>
<!-- DataTables CSS -->
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.9/css/jquery.dataTables.css">

<!-- jQuery -->
<script type="text/javascript" charset="utf8" src="//code.jquery.com/jquery-1.10.2.min.js"></script>

<!-- DataTables -->
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.9/js/jquery.dataTables.js"></script>
<script type="text/javascript">
$(document).ready( function () {
$('#table_id').DataTable();
} );
$('#example').DataTable( {
paging: false
} );
</script>

</head>
<body>
<div class="container">
<h1>
<img width="300" alt="logo Google pro" src="img/googlepro.png"></img><br><br>
<small>Cession de droits </small>
</h1>
<p>
<a class="btn btn-primary" href="index.php">Retour</a>
</p>
<?php
$coach_name = $_POST['coach_name'];
$name=$_POST['name'];
$operation = $_POST['operation'];
$compagny = $_POST['compagny'];
$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['year'];
$place = $_POST['place'];
$authorize = $_POST['authorize'];



$date = $day.'-'.$month.'-'.$year;

$donnees = "<tbody><tr class=\"odd\" role=\"row\">
<td class=\"sorting_1\"></td>
<td>$coach_name</td>
<td>$name</td>
<td>$compagny</td>
<td>$authorize
<span class=\"glyphicon glyphicon-ok\" aria-hidden=\"true\"></span>
</td>
<td></td>
<td>$day-$month-$year</td>
<td>$operation</td>
</tr> </tbody>
";

$fp = fopen("formulaire.php","a");
fseek($fp,0);
fwrite($fp, $donnees);
fclose($fp);
print("Vous avez bien été enregistré !")
?>

J'aurais tendance à crée un variable signature afin de pouvoir la remontée du genre $signature = $_POST['signature']; Mais pour le reste je sèche
Tu peux essayer ça si tu le souhaite Smiley cligne

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">


<br style="clear: both;" /><p style='margin-top: 1em;'><b>Philippe Chatelain</b>  &nbsp;&nbsp;<a  href='/contact/141069'><span
          class="glyphicon glyphicon-envelope" aria-hidden="true" style="color: grey""></span> Contacter l'auteur de la pétition</a></p><div style="border-top: 1px dashed #95bce2;  margin-top: 1em; padding-top: 1em;">
<form action="/les_depressifs_en_danger_la_psychiatrie_nest_plus_a_la_hauteur" method="post" name="signatureUnregistered" id="signatureUnregistered">
<div>
<table border="0">

	<tr>
		<td align="right" valign="top"><span style="color: #ff0000"></span><b><nobr>Prénom</nobr></b></td>
		<td valign="top" align="left">	<input size="25" name="kentta1" type="text" /></td>
	</tr>
	<tr>
		<td align="right" valign="top"><span style="color: #ff0000"></span><b><nobr>Nom de famille</nobr></b></td>
		<td valign="top" align="left">	<input size="25" name="kentta2" type="text" /></td>
	</tr>
	<tr>
		<td align="right" valign="top"><span style="color: #ff0000"></span><b><nobr>Ville</nobr></b></td>
		<td valign="top" align="left">	<input size="25" id="city" name="kentta3" type="text" /></td>
	</tr>
	<tr>
		<td align="right" valign="top"><span style="color: #ff0000"></span><b>Pays</b></td>
		<td valign="top" align="left">	<select name="country">
	<option value="AF">Afghanistan</option>
	<option value="ZA">Afrique du Sud</option>
	<option value="AL">Albanie</option>
	<option value="DZ">Algérie</option>
	<option value="DE">Allemagne</option>
	<option value="AD">Andorre</option>
	<option value="AO">Angola</option>
	<option value="AI">Anguilla</option>
	<option value="AQ">Antarctique</option>
	<option value="AG">Antigua-et-Barbuda</option>
	<option value="AN">Antilles néerlandai</option>
	<option value="SA">Arabie saoudite</option>
	<option value="AR">Argentine</option>
	<option value="AM">Arménie</option>
	<option value="AW">Aruba</option>
	<option value="AU">Australie</option>
	<option value="QO">Autre Océanie</option>
	<option value="AT">Autriche</option>
	<option value="AZ">Azerbaïdjan</option>
	<option value="BS">Bahamas</option>
	<option value="BH">Bahreïn</option>
	<option value="BD">Bangladesh</option>
	<option value="BB">Barbade</option>
	<option value="BE" selected>Belgique</option>
	<option value="BZ">Belize</option>
	<option value="BJ">Benin</option>
	<option value="BM">Bermudes</option>
	<option value="BT">Bhoutan</option>
	<option value="BO">Bolivie</option>
	<option value="BA">Bosnie-Herzégovine</option>
	<option value="BW">Botswana</option>
	<option value="BQ">British Antarctic Te</option>
	<option value="BN">Brunei</option>
	<option value="BR">Brésil</option>
	<option value="BG">Bulgarie</option>
	<option value="BF">Burkina Faso</option>
	<option value="BI">Burundi</option>
	<option value="BY">Bélarus</option>
	<option value="KH">Cambodge</option>
	<option value="CM">Cameroun</option>
	<option value="CA">Canada</option>
	<option value="CT">Canton and Enderbury</option>
	<option value="CV">Cap Vert</option>
	<option value="CL">Chili</option>
	<option value="CN">Chine</option>
	<option value="CY">Chypre</option>
	<option value="CO">Colombie</option>
	<option value="KM">Comores</option>
	<option value="CG">Congo</option>
	<option value="KP">Corée du Nord</option>
	<option value="KR">Corée du Sud</option>
	<option value="CR">Costa Rica</option>
	<option value="HR">Croatie</option>
	<option value="CU">Cuba</option>
	<option value="CI">Côte d’Ivoire</option>
	<option value="DK">Danemark</option>
	<option value="DJ">Djibouti</option>
	<option value="DM">Dominique</option>
	<option value="NQ">Dronning Maud Land</option>
	<option value="SV">El Salvador</option>
	<option value="ES">Espagne</option>
	<option value="EE">Estonie</option>
	<option value="FJ">Fidji</option>
	<option value="FI">Finlande</option>
	<option value="FR">France</option>
	<option value="FQ">French Southern and </option>
	<option value="GA">Gabon</option>
	<option value="GM">Gambie</option>
	<option value="GH">Ghana</option>
	<option value="GI">Gibraltar</option>
	<option value="GD">Grenade</option>
	<option value="GL">Groenland</option>
	<option value="GR">Grèce</option>
	<option value="GP">Guadeloupe</option>
	<option value="GU">Guam</option>
	<option value="GT">Guatemala</option>
	<option value="GN">Guinée</option>
	<option value="GQ">Guinée équatoriale</option>
	<option value="GW">Guinée-Bissau</option>
	<option value="GY">Guyana</option>
	<option value="GF">Guyane française</option>
	<option value="GE">Géorgie</option>
	<option value="GS">Géorgie du Sud, Îl</option>
	<option value="HT">Haïti</option>
	<option value="HN">Honduras</option>
	<option value="HK">Hong-Kong R.A.S. de </option>
	<option value="HU">Hongrie</option>
	<option value="AX">Iles d’Åland</option>
	<option value="IN">Inde</option>
	<option value="ID">Indonésie</option>
	<option value="IR">Iran</option>
	<option value="IQ">Iraq</option>
	<option value="IE">Irlande</option>
	<option value="IS">Islande</option>
	<option value="IL">Israël</option>
	<option value="IT">Italie</option>
	<option value="JM">Jamaïque</option>
	<option value="JP">Japon</option>
	<option value="JT">Johnston Island</option>
	<option value="JO">Jordanie</option>
	<option value="KZ">Kazakhstan</option>
	<option value="KE">Kenya</option>
	<option value="KG">Kirghizistan</option>
	<option value="KI">Kiribati</option>
	<option value="KW">Koweït</option>
	<option value="LA">Laos</option>
	<option value="LS">Lesotho</option>
	<option value="LV">Lettonie</option>
	<option value="LB">Liban</option>
	<option value="LY">Libye</option>
	<option value="LR">Libéria</option>
	<option value="LI">Liechtenstein</option>
	<option value="LT">Lithuanie</option>
	<option value="LU">Luxembourg</option>
	<option value="MO">Macao R.A.S. de Chin</option>
	<option value="MK">Macédoine</option>
	<option value="MG">Madagascar</option>
	<option value="MY">Malaisie</option>
	<option value="MW">Malawi</option>
	<option value="MV">Maldives</option>
	<option value="ML">Mali</option>
	<option value="MT">Malte</option>
	<option value="MA">Maroc</option>
	<option value="MQ">Martinique</option>
	<option value="MU">Maurice</option>
	<option value="MR">Mauritanie</option>
	<option value="YT">Mayotte</option>
	<option value="FX">Metropolitan France</option>
	<option value="MX">Mexique</option>
	<option value="FM">Micronésie</option>
	<option value="MI">Midway Islands</option>
	<option value="MD">Moldova</option>
	<option value="MC">Monaco</option>
	<option value="MN">Mongolie</option>
	<option value="ME">Montenegro</option>
	<option value="MS">Montserrat</option>
	<option value="MZ">Mozambique</option>
	<option value="MM">Myanmar</option>
	<option value="NA">Namibie</option>
	<option value="NR">Nauru</option>
	<option value="NT">Neutral Zone</option>
	<option value="NI">Nicaragua</option>
	<option value="NE">Niger</option>
	<option value="NG">Nigéria</option>
	<option value="NU">Niué</option>
	<option value="VD">North Vietnam</option>
	<option value="NO">Norvège</option>
	<option value="NC">Nouvelle-Calédonie</option>
	<option value="NZ">Nouvelle-Zélande</option>
	<option value="NP">Népal</option>
	<option value="OM">Oman</option>
	<option value="UG">Ouganda</option>
	<option value="UZ">Ouzbékistan</option>
	<option value="PC">Pacific Islands Trus</option>
	<option value="PK">Pakistan</option>
	<option value="PW">Palaos</option>
	<option value="PA">Panama</option>
	<option value="PZ">Panama Canal Zone</option>
	<option value="PG">Papouasie-Nouvelle-G</option>
	<option value="PY">Paraguay</option>
	<option value="NL">Pays-Bas</option>
	<option value="YD">People's Democratic </option>
	<option value="PH">Philippines</option>
	<option value="PN">Pitcairn</option>
	<option value="PL">Pologne</option>
	<option value="PF">Polynésie français</option>
	<option value="PR">Porto Rico</option>
	<option value="PT">Portugal</option>
	<option value="PE">Pérou</option>
	<option value="QA">Qatar</option>
	<option value="RO">Roumanie</option>
	<option value="GB">Royaume-Uni</option>
	<option value="RU">Russie</option>
	<option value="RW">Rwanda</option>
	<option value="CF">République centrafr</option>
	<option value="DO">République dominica</option>
	<option value="CD">République démocra</option>
	<option value="CZ">République tchèque</option>
	<option value="RE">Réunion</option>
	<option value="EH">Sahara occidental</option>
	<option value="KN">Saint Kitts et Nevis</option>
	<option value="SM">Saint-Marin</option>
	<option value="PM">Saint-Pierre-et-Miqu</option>
	<option value="VA">Saint-Siège (Etat d</option>
	<option value="VC">Saint-Vincent-et-les</option>
	<option value="SH">Sainte-Hélène</option>
	<option value="LC">Sainte-Lucie</option>
	<option value="WS">Samoa</option>
	<option value="AS">Samoa américaines</option>
	<option value="ST">Sao Tomé-et-Princip</option>
	<option value="RS">Serbia</option>
	<option value="CS">Serbie-et-Monténég</option>
	<option value="SC">Seychelles</option>
	<option value="SL">Sierra Leone</option>
	<option value="SG">Singapour</option>
	<option value="SK">Slovaquie</option>
	<option value="SI">Slovénie</option>
	<option value="SO">Somalie</option>
	<option value="SD">Soudan</option>
	<option value="LK">Sri Lanka</option>
	<option value="CH">Suisse</option>
	<option value="SR">Suriname</option>
	<option value="SE">Suède</option>
	<option value="SJ">Svalbard et Île Jan</option>
	<option value="SZ">Swaziland</option>
	<option value="SY">Syrie</option>
	<option value="SN">Sénégal</option>
	<option value="TJ">Tadjikistan</option>
	<option value="TZ">Tanzanie</option>
	<option value="TW">Taïwan</option>
	<option value="TD">Tchad</option>
	<option value="TF">Terres australes fra</option>
	<option value="IO">Territoire britanniq</option>
	<option value="PS">Territoire palestini</option>
	<option value="TH">Thaïlande</option>
	<option value="TL">Timor-Leste</option>
	<option value="TG">Togo</option>
	<option value="TK">Tokelau</option>
	<option value="TO">Tonga</option>
	<option value="TT">Trinité-et-Tobago</option>
	<option value="TN">Tunisie</option>
	<option value="TM">Turkmenistan</option>
	<option value="TR">Turquie</option>
	<option value="TV">Tuvalu</option>
	<option value="PU">U.S. Miscellaneous P</option>
	<option value="UA">Ukraine</option>
	<option value="SU">Union of Soviet Soci</option>
	<option value="UY">Uruguay</option>
	<option value="VU">Vanuatu</option>
	<option value="VN">Viet Nam</option>
	<option value="VE">Vénézuela</option>
	<option value="WK">Wake Island</option>
	<option value="WF">Wallis et Futuna</option>
	<option value="YE">Yémen</option>
	<option value="ZM">Zambie</option>
	<option value="ZW">Zimbabwe</option>
	<option value="EG">Égypte</option>
	<option value="AE">Émirats arabes unis</option>
	<option value="EC">Équateur</option>
	<option value="ER">Érythrée</option>
	<option value="US">États-Unis</option>
	<option value="ET">Éthiopie</option>
	<option value="BV">Île Bouvet</option>
	<option value="CX">Île Christmas</option>
	<option value="NF">Île Norfolk</option>
	<option value="KY">Îles Caïmanes</option>
	<option value="CC">Îles Cocos</option>
	<option value="CK">Îles Cook</option>
	<option value="FK">Îles Falkland (Malv</option>
	<option value="FO">Îles Féroé</option>
	<option value="HM">Îles Heard et MacDo</option>
	<option value="MP">Îles Mariannes du N</option>
	<option value="MH">Îles Marshall</option>
	<option value="UM">Îles Mineures Éloi</option>
	<option value="SB">Îles Salomon</option>
	<option value="TC">Îles Turks et Caïq</option>
	<option value="VG">Îles Vierges Britan</option>
	<option value="VI">Îles Vierges des É</option>
</select></td>
	</tr>
	<tr>
		<td align="right" valign="top"><b></b></td>
		<td valign="top" align="left">	<input name="authenticity_token" type="hidden" value="c00190c6e19b461f44bf7d598169b475" /></td>
	</tr>
	<tr>
		<td align="right" valign="top"><b></b></td>
		<td valign="top" align="left">	<input name="visitor_ip" type="hidden" value="87.67.31.2" /></td>
	</tr>
	<tr>
		<td align="right" valign="top"><b></b></td>
		<td valign="top" align="left">	<input name="screen_width" type="hidden" value="" /></td>
	</tr>
	<tr>
		<td align="right" valign="top"><b></b></td>
		<td valign="top" align="left">	<input name="screen_height" type="hidden" value="" /></td>
	</tr>
	<tr>
		<td align="right" valign="top"><b></b></td>
		<td valign="top" align="left">	<input name="testi" type="hidden" value="1" /></td>
	</tr>
	<tr>
		<td align="right" valign="top"><span style="color: #ff0000"></span><b><nobr>Adresse de courriel</nobr></b></td>
		<td valign="top" align="left">	<input size="25" name="sahkopostiosoite" type="text" /></td>
	</tr>
	<tr>
		<td align="right" valign="top"><b></b></td>
		<td valign="top" align="left">	<tr><td colspan="2" style="padding-top: 0.7em;"><b>Rendre publique votre signature ?</b></td></tr></td>
	</tr>
	<tr>
		<td align="right" valign="top"><b></b></td>
		<td valign="top" align="left">	<input value="1" type="radio" id="qf_26d29e" name="onkoJulkinen" checked="checked" /><label for="qf_26d29e"> Oui</label> &nbsp;&nbsp;<input value="0" type="radio" id="qf_280a5f" name="onkoJulkinen" /><label for="qf_280a5f"> Non</label></td>
	</tr>
	<tr>
		<td align="right" valign="top"><b></b></td>
		<td valign="top" align="left">	<input name="unregisteregisteredSignatureSubmitted" type="hidden" value="true" /></td>
	</tr>
	<tr>
		<td align="right" valign="top"><b></b></td>
		<td valign="top" align="left">	<input style="margin-top: 0.7em;" class="action_button" name="btnSubmit" value="Signer cette pétition" type="submit" /></td>
	</tr>
	<tr>
		<td align="right" valign="top"><b></b></td>
		<td valign="top" align="left">	<tr><td colspan="2" style="padding: 1em 0 0em 0.5em;"><small>Votre adresse de courriel ne sera jamais affichée publiquement, ni divulguée à qui que ce soit.</small></td></tr></td>
	</tr>
	
	<tr>
		<td></td>
	<td align="left" valign="top"></td>
	</tr>
</table>
</div>
</form></div>
    <script>
 $(document).ready(function() {

      //   $(':input[name=captcha]').example('Write the captcha', {className: 'example_text'});

 });


</script></div><div id="featured_petitions" class="rounded_top"><table style="width: 99%;"></div>