validation formulaire avec lien - marche pu

Eléphant du PHP | 161 Messages

16 nov. 2005, 11:51

Yop tout le monde,
voila je suis un peu dans le chou. J'ai copier/coller 3 lignes de codes d'un de mes anciens projets pr valider un formulaire par un lien. Et ca marche pas :|

Je comprend pas, sous IE ca m'affiche l'erreur suivante:
"Object doesn't suppport this property or method"

Et voila les 3 lignes de codes.....

Code : Tout sélectionner

<form style="margin:0px;display:inline;" name="deleteNews" action="index.php?p=_internal_news" method="POST"> <input type="hidden" name="idel" value="'.$news['datePost'].'"> <A HREF="javascript:document.deleteNews.submit();" onClick="if (!confirm(\'Are you sure that you want to delete that news ?\')) return false;">Delete</A> </form>
En fait le formulaire est pas valider et il se passe rien......
Des idées ?

Eléphant du PHP | 219 Messages

16 nov. 2005, 17:08

je te propose cette logique :

Code : Tout sélectionner

<form style="margin:0px;display:inline;" name="deleteNews" action="http://www.developpez.com" method="POST"> <input type="hidden" name="idel" value="toto"> <A href="javascript:if (confirm('Are you sure that you want to delete that news ?')) document.deleteNews.submit();" onClick="">Delete</A> </form>

Eléphant du PHP | 161 Messages

16 nov. 2005, 18:03

merci pour ta réponse malheuresement encore la meme erreur.

jcomprend vraiment pas. J'ai relu tout 50 fois

voila le code généré au cas ou qq1 ai des yeux de lynx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
	<head>
		<title>BEN Administration Web Interface</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
		<meta http-equiv="Content-Style-Type" content="text/css" />
		<meta http-equiv="Content-Language" content="fr" />
		<link href="styles
1.css" rel="stylesheet" type="text/css" /> 		
	</head>
	
	<body>

	<div id="conteneur">		
		<h1 id="header"><a href="index.php" title="BEN administration"><span>Ben administration</span></a></h1><ul id="menu">
			<li><a href="index.php?p=_notice_board">Notice Board</a></li>
			<li><a href="index.php?p=_account">User account</a></li>
			<li><a href="index.php">Documents</a></li>
			<li><a href="index.php?p=_myoption">My options</a></li>
			<li><a href="index.php?p=_config">Global Admin</a></li>

			<li><a href="index.php">Login</a></li>
</ul><div id="contenu">
		<p>Use this page to add, edit or delete internal news.</p>
	<h2>Add item</h2>
		<p>Please populate the required fields below and click the add news button.</p>
		<form method="post" action="index.php?p=_internal_news">
		<table id="form">

			<tr id="form">
			<td id="form">Title: </td>
			<td id="form"><input id="form" type="text" name="news_title" size="50"></td>
			</tr>
			<tr id="form">
			<td id="form">Description: </td>
			<td id="form"><textarea id="form" rows="2" cols="45" name="news_description"></textarea></td>
			</tr>

			<tr id="form">
			<td id="form">Content: </td>
			<td id="form"><textarea id="form" rows="12" cols="45" name="news_content"></textarea></td>
			</tr>
			<!--
			<tr id="form">
			<td />
			<td id="form"><input id="form" type ="file" name="news_pict"</td>
			</tr>
			-->
			<tr id="form">
			<td />
			<td id="form"><input id="submit" type="submit" value="Add news"></td>

			</tr>
		</table>
		</form>
	<h2>Existing items management</h2>
		<p>Listed below are all existing items, please select one to edit or delete.</p>
		<table border="0" cellspacing="0" cellpadding="0">
		<tr>
		<th width="250px" height="25px" align="left"> <strong>Title </strong> </th>

		<th width="150px" height="25px" align="left"> <strong>Date</strong> </th>
		</tr>
		<tr><td width="300px" height="25px" align="left" id="list"> Test news</td>
				<td width="150px" height="25px" align="left" id="list"> 2005-11-16 12:48:03 </td>
				<td width="100px" height="25px" align="center" id="list"><a href="index.php?p=_edit_news&id=2">Edit</a></td>

				<td width="100px" height="25px" align="center" id="list">
				  <form style="margin:0px;display:inline;" name="delete_news" action="index.php?p=_internal_news" method="post">
				  <input type="hidden" name="idel" value="2"> 
				  <A href="javascript:if (confirm('Are you sure that you want to delete that news ?')) document.delete_news.submit();" onClick="">Delete</A>
				  </form>
				</td></tr>
				<tr><td width="300px" height="25px" align="left" id="list"> werewr</td>
				<td width="150px" height="25px" align="left" id="list"> 2005-11-16 12:29:43 </td>

				<td width="100px" height="25px" align="center" id="list"><a href="index.php?p=_edit_news&id=1">Edit</a></td>
				<td width="100px" height="25px" align="center" id="list">
				  <form style="margin:0px;display:inline;" name="delete_news" action="index.php?p=_internal_news" method="post">
				  <input type="hidden" name="idel" value="1"> 
				  <A href="javascript:if (confirm('Are you sure that you want to delete that news ?')) document.delete_news.submit();" onClick="">Delete</A>
				  </form>
				</td></tr>
						</table>

</div>
				

		<p id="back"><a href="#conteneur">Back to the top</a></p>
		<p id="footer">Designed by Vianney Beaudoux</p>
	</div>
	</body>
</html>

Mammouth du PHP | 19672 Messages

16 nov. 2005, 22:53

Ton code est à revoir complètement: tu utilise des attribut id avec partout la même valeur: on ne peux utiliser u'une seule fois une valeur dans une page pour cet attribut. Si c'est pour un style CSS, dans ce cas, utilise class à la place.

Pour le gestionaire d'évènement, il y a moyen de simplifier en faisant une petite fonction que tu appeles onclick();

Proposition de code corrigé, teste les liens "Delete", ça fonctionne chez moi
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  <head>
    <title>BEN Administration Web Interface</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <meta http-equiv="Content-Language" content="fr" />
    <link href="styles1.css" rel="stylesheet" type="text/css" /> 
    <script type="text/javascript">
    /* <![CDATA[ */
    function supprimer(id)
    {
        if (confirm('Are you sure that you want to delete that news ?'))
        {
            document.forms['delete_news'].elements['ide1'].value=id;
            document.forms['delete_news'].submit();
        }
        else
        {
            return false;
        }
    }
    /* ]]> */
    </script>
  </head>
  <body>
    <div id="conteneur"> 
      <h1 id="header"><a href="index.php" title="BEN administration"><span>Ben administration</span></a></h1>
      <ul id="menu">
        <li><a href="index.php?p=_notice_board">Notice Board</a></li>
        <li><a href="index.php?p=_account">User account</a></li>
        <li><a href="index.php">Documents</a></li>
        <li><a href="index.php?p=_myoption">My options</a></li>
        <li><a href="index.php?p=_config">Global Admin</a></li>
        <li><a href="index.php">Login</a></li>
      </ul>
      <div id="contenu">
        <p>Use this page to add, edit or delete internal news.</p>
        <h2>Add item</h2>
        <p>Please populate the required fields below and click the add news button.</p>
        <form method="post" action="index.php?p=_internal_news" id="gestion_news">
          <table id="form" summary="">
            <tr class="form">
              <td class="form">Title: </td>
              <td class="form"><input class="form" type="text" name="news_title" size="50" /></td>
            </tr>
            <tr class="form">
              <td class="form">Description: </td>
              <td class="form"><textarea class="form" rows="2" cols="45" name="news_description"></textarea></td>
            </tr>
            <tr class="form">
              <td class="form">Content: </td>
              <td class="form"><textarea class="form" rows="12" cols="45" name="news_content"></textarea></td>
            </tr>
<!--
<tr class="form">
<td />
<td class="form"><input class="form" type ="file" name="news_pict"</td>
</tr>
-->
            <tr class="form">
              <td>&nbsp;</td>
              <td class="form"><input id="submit" type="submit" value="Add news" /></td>
            </tr>
          </table>
        </form>
        <h2>Existing items management</h2>
        <p>Listed below are all existing items, please select one to edit or delete.</p>
        <form style="margin:0px;display:inline;" name="delete_news" action="index.php?p=_internal_news" method="post">
          <table style="border: none; border-collapse: collapse" summary="">
            <tr>
              <th style="width: 250px; height: 25px; text-align: left"> <strong>Title </strong> </th>
              <th style="width: 150px; height: 25px; text-align: left"> <strong>Date</strong> </th>
              <th colspan="2">&nbsp;</th>
            </tr>
            <tr>
              <td style="height: 25px; text-align: left" class="list"> Test news</td>
              <td style="height: 25px; text-align: left" class="list"> 2005-11-16 12:48:03 </td>
              <td style="width: 100px; height: 25px; text-align: center" class="list"><a href="index.php?p=_edit_news&id=2">Edit</a></td>
              <td style="width: 100px; height: 25px; text-align: center" class="list">
                <a href="#" onClick="return(supprimer(2));">Delete</a>
              </td>
            </tr>
            <tr>
              <td style="height: 25px; text-align: left" class="list"> werewr</td>
              <td style="height: 25px; text-align: left" class="list"> 2005-11-16 12:29:43 </td>
              <td style="height: 25px; text-align: center"><a href="index.php?p=_edit_news&id=1">Edit</a></td>
              <td style="height: 25px; text-align: center">
                <a href="#" onClick="return(supprimer(1));">Delete</a>
              </td>
            </tr>
          </table>
          <input type="hidden" name="ide1" id="idel" value="" />
        </form>
      </div>
      <p id="back"><a href="#conteneur">Back to the top</a></p>
      <p id="footer">Designed by Vianney Beaudoux</p>
    </div>
  </body>
</html>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 161 Messages

17 nov. 2005, 16:56

Super merci, j'ai fait le ménage. Je comprenais pas la différence entre les classes et attributs en CSS. Maintenant c'est fait :)

Sinon la validation marche impecable, je comprend comment il marche. Par contre je ne comprend pas ce qui ne marchait pas dans le mien :/

Aussi, le fait que le href pointe sur #

Code : Tout sélectionner

<a href="#" onClick="return(supprimer(2));">Delete</a>
fait que le navigateur remonte en début de page avant la redirection ce qui fait assez louche. Je me demandais si je peux mettre un id sur chaque élément comme ceci:

Code : Tout sélectionner

<td style="width: 100px; height: 25px; text-align: center" class="list" id="2">
la valeur de id serait différent pour chaque élément (pour chaque news dans ce cas précis).
Juste pour savoir si c'est correct et valide xHTML strict.

Parce que apres je suppose que je pourrait mettre le lien sur #2 ou nimporte quel autre numero et ca la page se déplacera juste au niveau de l'élément.

Ou je sais pas si ya d'autre possibilité.

En tout cas merci pour le coup de main :)