Page 1 sur 1

Datepiker

Posté : 18 déc. 2013, 15:12
par kilian78
bonjour à tous,

je voulais savoir si vous saviez comment faire pour mettre par défaut l'heure à 10h dans mon script :

[javascript]<script type="text/javascript">
$(function() {
$('#datepicker1').datepicker({
duration: '',
showTime: true,
constrainInput: false
});
});
</script>[/javascript]

j'ai essayé avec hour:10 mais ça ne fonctionne pas...

Merci par avance

Re: Datepiker

Posté : 18 déc. 2013, 17:29
par moogli

Re: Datepiker

Posté : 18 déc. 2013, 17:46
par kilian78
Merci pour ta réponse mais là c'est juste pour la date, non?

Idem j'ai un petit problème avec mon onblur...

Voici mon code :
<script type="text/javascript" src="js/jquery-1.7.js"></script>
<link type="text/css" href="css/ui-lightness/jquery-ui-1.7.2.custom.css" rel="stylesheet" />      
<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript" src="js/timepicker.js"></script>
<script type="text/javascript">
$(function() {
    $('#dateRappel').datepicker({
    	duration: '',
        showTime: true,
        constrainInput: false
     });
});

</script>
<script>
jQuery(function($){
$.datepicker.regional['fr'] = {
closeText: 'Fermer',
prevText: 'Précédent',
nextText: 'Suivant',
currentText: 'Aujourd\'hui',
monthNames: ['janvier', 'f&eacute;vrier', 'mars', 'avril', 'mai', 'juin',
'juillet', 'ao&ucirc;t', 'septembre', 'octobre', 'novembre', 'd&eacute;cembre'],
monthNamesShort: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin',
'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
dayNames: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],
dayNamesShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],
dayNamesMin: ['D','L','M','M','J','V','S'],
beforeShowDay: $.datepicker.noWeekends,

dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
hour:10,
minute:00,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['fr']);
});
</script>

echo "<form action=''>";
echo "<td class='fond' style='background:green; color:white; text-align:center; font-weight:bold; '><input type='text' id='dateRappel' onblur='this.form.submit();' style='width:50px; height:10px;' value='".date('H:i', strtotime($rech_ent[client_a_rappeler]))."'></td>";
echo "</form>";
Mon problème:
Lorsque je clique sur le calendrier ma page se recharge avant même que j'ai pu sélectionner ma date et mon heure...

Re: Datepiker

Posté : 18 déc. 2013, 19:38
par moogli
le date picker n'est prévu que pour la date.

je vois dans tes imports JS que le temps prévu autrement (timepicker).
jQuery 1.7 c'est plus tous une version plus récente pourrait peux être aussi lever des bugs.


sais tu qu'il existe en html5 ce type de chose ? http://www.alsacreations.com/tuto/lire/ ... local.html

c'est lié à l'obligation d'avoir un navigateur compatible mais tu te ferais moins chier ;)


pour le onblur c'est aussi normal c'est parce que l'input perd le focus quant tu affiche le calendrier (qui ne fait pas partis de l'input c'est une div positionnée en absolue)
plus d'info sur le onblur.
tu peux conditionner la soumission en vérifiant que l'input ne soit pas vide.
Perso je préfère un bouton ;)


@+

Re: Datepiker

Posté : 18 déc. 2013, 19:54
par kilian78
Ok je vois.
du coup je vais utiliser un bouton tu as raison. ;-)

Autre petite chose, lorsque je clique sur mon bouton "submit" il faut que seule la mise à jour de ma base de données se face sur l'heure...
Sais-tu comment je peux faire ?

J'ai fait ça :

echo "<form method='post'>";
echo "<td class='fond' style='background:green; color:white; text-align:center; font-weight:bold; '><input name=\"client_a_rappeler\" type='text' onblur='this.form.submit();' style='width:50px; height:10px;' value='".date('H:i', strtotime($rech_ent[client_a_rappeler]))."'></td>";
echo "</form>";


$id_rappel = $rech_ent[id];
$client_a_rappeler = $_POST['client_a_rappeler'];
$conn = db_connect();
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
	if($client_a_rappeler) {
	$sql = "update cliens set 
	client_a_rappeler = (str_to_date('".$client_a_rappeler."', '%H:%i:%s' ))
	where id = '$id_rappel'";
	$result = @mysql_query($sql, $conn) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
Merci ;-)

Re: Datepiker

Posté : 18 déc. 2013, 20:02
par moogli
si ton champ est un date time il faut la date

mais perso je me pencherais sur la fonction addtime de mysql ;)

(je te conseil le bookmark de cette page qui est plus qu'utile :mrgreen: )


@+

Re: Datepiker

Posté : 19 déc. 2013, 01:09
par kilian78
J'ai changé de méthode...

Voici ce que j'ai créé :
- un formulaire pour récupérer les POST
- un bouton pour le submit pour envoyer les POST
- je récupère les valeurs et les envoie dans la base ce qui donne
echo "<form method='post'>"; 
echo "<td class='fond' style='text-align:center; font-weight:bold; '><input  name=\"client_a_rappeler\" id='dateRappel' type='text' style='width:75px; height:15px; text-align:center;' value='".date('H:i', strtotime($rech_ent[client_a_rappeler]))."'>&nbsp;&nbsp;<input type=\"image\"  src=\"images/valider_com.png\" style=\"width:15px; background:transparent; border:0;\" align=\"absmiddle\"></td>";
echo "<input type=\"hidden\" name=\"id_rappel\" value=\"".stripslashes($rech_ent[id])."\">";
echo "</form>";


//------------------------------------------------------------------------------------------
///////////////////////////MISE A JOUR DE L'HEURE DE RAPPEL/////////////////////////////////
//------------------------------------------------------------------------------------------
$id_rappel = $_POST['id_rappel'];
$client_a_rappeler = $_POST['client_a_rappeler'];
$conn = db_connect();
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
	if($client_a_rappeler) {
	$sql = "update ".CLIENTS." set 
	client_a_rappeler = (str_to_date('".$client_a_rappeler."', '%d/%m/%Y %H:%i:%s' ))
	where id = '$id_rappel'";
	$result = @mysql_query($sql, $conn) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
	
	echo "<meta http-equiv=\"refresh\" content=\"0;url=".$_SERVER['PHP_SELF']."\" />";
}
Voilà.

Merci beaucoup pour votre aide.
Bonne soirée à tous.