ここでは、私がやろうとしていることがあります。私はHTMLで書かれたフォームを持っています。それにはいくつかのHTML5要素があります。私がしたいのは、ユーザーが必要なフィールド(PHPとHTML5で検証済み)をすべて記入してフォームを送信し、既存のXMLファイルにエクスポートするときです。フォームはまた、AJAXを使用して、ユーザーがフィールドを記入したときに検証し、ページをリロードせずにフォーム全体を検証します(一度送信すると)。HTMLフォームからXMLドキュメントにデータをエクスポートする
XMLファイルは、フォーム提出からの情報を受け取るように設定された空のタグのフレームワークで、スキーマ(特定の値に制限するために作成したもの)に基づいています。私はまた、すべての値が有効であることを確認するために新しいXML値をスキーマに対して検証するスクリプトを持つことができなければならず、エラーメッセージを返さない場合も必要です。
XMLスキーマの検証はできるだけPHPの検証に近く、ここには少数の文字数制限が追加されています。
XMLファイルのスキーマを投稿してより具体的な回答を得る必要がある場合は、私は要請に応じます。
XMLフレームワーク:
<form>
**<!-- First Name -->**
<fname></fname>
<!-- Last Name -->
<lname></lname>
<!-- Phone Number -->
<phone></phone>
<!-- Email -->
<email></email>
<!-- Website -->
<website></website>
<!-- Subject -->
<subject></subject>
<!-- Message -->
<message></message>
</form>
HTMLフォーム:
<form method="post" action="php/validator.php" name="contactform" id="contactform" autocomplete="on">
<fieldset>
<legend>Contact Details</legend>
<div>
<label for="fname" accesskey="F">Your First Name*</label>
<input name="fname" type="text" id="name" placeholder="Enter your first name" tabindex="1" required />
</div>
<div>
<label for="lname" accesskey="L">Your Last Name*</label>
<input name="lname" type="text" id="name" placeholder="Enter your last name" tabindex="2" required />
</div>
<div>
<label for="email" accesskey="E">Email*</label>
<input name="email" type="email" id="email" placeholder="[email protected]" pattern="^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$" tabindex="3" required />
</div>
<div>
<label for="phone" accesskey="P">Phone <small>(optional)</small></label>
<input name="phone" type="tel" id="phone" size="12" placeholder="555-555-5555" tabindex="4" />
</div>
<div>
<label for="website" accesskey="W">Website <small>(optional)</small></label>
<input name="website" type="url" id="website" placeholder="www.yourWebDomain.com" tabindex="5" />
</div>
</fieldset>
<fieldset>
<legend>Your Comments</legend>
<div>
<label for="subject" accesskey="S">Subject*</label>
<select name="subject" id="subject" tabindex="6" required="required">
<option value=""></option>
<option value="Support">Support</option>
<option value="Sale">Sales</option>
<option value="Bug">Report a bug</option>
<option value="Other">Other</option>
</select>
</div>
<div>
<label for="comments" accesskey="C">Comments*</label>
<textarea name="comments" cols="40" rows="3" id="comments" class="comments" placeholder="Enter your comments" spellcheck="true" required tabindex="7"></textarea>
</div>
</fieldset>
<input type="submit" class="submit" id="submit" value="Submit" tabindex="9" />
</form>
あなたの質問は? – hakre
同じIDを持つ複数のオブジェクトを持つことはできません(名と姓の両方のフィールドに "名前")。 –