J'ai un formulaire sur un site SharePoint et je souhaite que certains champs soient obligatoires (sélecteur de date/heure, etc.). Pour faire d'autres champs visibles/cachés et également ajouter un titre sur le terrain rouge * après requis que j'utilise (exemple):Contrôles de validation jQuery/JavaScript
//Strategic Priority
$('nobr:contains("Strategic Priority")').closest('tr').show();
$('nobr:contains("Strategic Priority")').html("Strategic Priority <span class=\"validate\"> *</span>");
//Performance Measure
$('nobr:contains("Performance Measure")').closest('tr').hide();
//Start Date
$('nobr:contains("Start Date")').closest('tr').show();
$('nobr:contains("Start Date")').html("Start Date <span class=\"validate\"> *</span>");
Quelle est la meilleure façon de valider les éléments de champ requis lorsque l'utilisateur touche un bouton d'envoi?
Le HTML ressemble à:
<td class="ms-formbody" valign="top" width="400px">
<!-- FieldName="Target Date"
FieldInternalName="DueDate"
FieldType="SPFieldDateTime"
-->
<span dir="none">
<script language="javascript">g_strDateTimeControlIDs["SPDueDate"] = "ctl00_m_g_c6ae303a_6013_4adb_8057_63a214bcfd24_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDate";</script>
<table><tbody><tr>
<td class="ms-dtinput">
<label for="ctl00_m_g_c6ae303a_6013_4adb_8057_63a214bcfd24_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDate" style="display: none;">Target Date Date</label>
<input name="ctl00$m$g_c6ae303a_6013_4adb_8057_63a214bcfd24$ctl00$ctl04$ctl10$ctl00$ctl00$ctl04$ctl00$ctl00$DateTimeField$DateTimeFieldDate" maxlength="45" id="ctl00_m_g_c6ae303a_6013_4adb_8057_63a214bcfd24_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDate" title="Target Date" class="ms-input" autopostback="0" type="text"></td>
HTML généré pour le bouton:
<td class="ms-toolbar" nowrap="true">
<table width="100%" cellpadding="0" cellspacing="0"><tbody><tr><td width="100%" align="right" nowrap="nowrap">
<input name="ctl00$m$g_c6ae303a_6013_4adb_8057_63a214bcfd24$ctl00$toolBarTbl$RightRptControls$ctl00$ctl00$diidIOSaveItem" value="OK" onclick='if (!PreSaveItem()) return false;WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$m$g_c6ae303a_6013_4adb_8057_63a214bcfd24$ctl00$toolBarTbl$RightRptControls$ctl00$ctl00$diidIOSaveItem", "", true, "", "", false, true))' id="ctl00_m_g_c6ae303a_6013_4adb_8057_63a214bcfd24_ctl00_toolBarTbl_RightRptControls_ctl00_ctl00_diidIOSaveItem" accesskey="O" class="ms-ButtonHeightWidth" target="_self" type="button">
</td>
Je ne peux pas utiliser ou ID nom pour obtenir l'élément et vérifier si elle est vide ou non.
Merci d'avance.
Edit:
J'ai essayé avec if ($ ("entrée [title = 'Date de début']") val() longueur < 1..) { d'alerte ("test"); }
et il ne me donne pas un popup si le champ a des données dedans mais si c'est vide c'est le cas. La prochaine étape consiste à ajouter du texte après le champ (au lieu de déclencher une alerte) en disant "Champ obligatoire". Comment puis-je insérer ceci avec jQuery/JavaScript après l'élément que je valide?