Maison  >  Article  >  interface Web  >  Causes d'erreur et solutions lorsque form.submit() ne peut pas soumettre les compétences form_javascript

Causes d'erreur et solutions lorsque form.submit() ne peut pas soumettre les compétences form_javascript

WBOY
WBOYoriginal
2016-05-16 16:34:101982parcourir

Allez directement sur le code :

<div id="register">

<h4>会员注册</h4>

<div class="formdiv">

<form method="post" action="register.php&#63;action=register" name="register" id="registerForm">

<dl>

<dt>请认真填写以下内容</dt>

<dd class="hasspan">

用户名:<input type="text" name="username">

</dd>

<dd class="hasspan">

密码:<input type="password" name="pwd">

</dd>

<dd class="hasspan">

确认密码:<input type="password" name="pwdagain">

</dd>

<dd id="tximg">

<img src="img/face/m01.gif" alt="选择头像" id="faceimg">

<input type="hidden" name="touxiang" value="">

<label id="imgsrclabel">m01.gif</label>

</dd>

<dd style="margin-right:120px;">

验证码:<input type="text" name="code">

<span>

<img src="code.php" alt="code" id="code" name="code">

<a href="#code" id="change">换一张</a>

</span>

</dd>

<dd class="btns">

<input type="button" name="submit" id="submit" value="注册">

<input type="button" name="quit" id="quit" value="退出">

</dd>

</dl>

</form>

</div>

</div>

表单数据提交到本页面,下面是js处理

/*注册表单提交*/

function formDeal()

{

var btnSubmit = document.getElementById('submit');

var formId = document.getElementById('registerForm');

btnSubmit.onclick = function()

{

//表单的submit()方法不能提交表单

formId.submit();

}


}

如果表单提交,在本页面有一段提示信息

if(!empty($_GET['action']) && $_GET['action'] == 'register')

{

echo '你提交了数据';

exit();

}

Le résultat est que je n'ai pas vu le message d'invite après le test pendant longtemps. Je pensais que le code était erroné ou que la méthode était mal écrite. J'ai vérifié attentivement et vérifié le document de résultats officiel pour confirmer qu'il n'y en avait pas. erreur.

formId.submit() ne peut pas être soumis, je dois donc changer le type de btnSubmit à soumettre

this.type="submit"

Après vérification des informations en ligne, les raisons peuvent se résumer en deux points :

1. Le formulaire ne peut pas avoir la balise name="submit"

2. "enctype="multipart/form-data"" ne peut pas manquer dans le formulaire

Après tests, ces deux points sont ridicules et ne résolvent pas mon problème (peut-être que mon environnement problématique est différent)

Plus tard, j'ai pensé que certains amis du forum m'avaient suggéré de changer l'ID du bouton d'inscription par un nouveau nom au lieu de soumettre. Après la correction, le formulaire est soumis normalement et le message d'invite apparaît.

Résumé final : ne définissez pas l'identifiant du bouton à soumettre, sinon cela pourrait prêter à confusion et empêcher la méthode submit() du formulaire de soumettre le formulaire. Lorsque vous nommez l'ID, il est préférable de ne pas dupliquer le nom avec l'API existante pour éviter des désagréments inutiles.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn