Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Magento表单验证,表单未使用有效字段提交_Javascript_Php_Forms_Magento - Fatal编程技术网

Javascript Magento表单验证,表单未使用有效字段提交

Javascript Magento表单验证,表单未使用有效字段提交,javascript,php,forms,magento,Javascript,Php,Forms,Magento,我已经创建了一个自定义注册表单,该表单将包含在我的Magento模板的标题中,该模板将发布到我正在构建的扩展中 我在表单上使用了Magento表单验证,但当我单击提交时,表单什么也不做。我可以看到“validation passed”类已应用于所有元素,但什么也没有发生 <form action="http://XXXXXXX/newslettersignup/" method="post" id="newsletter-validate-detail"> <div c

我已经创建了一个自定义注册表单,该表单将包含在我的Magento模板的标题中,该模板将发布到我正在构建的扩展中

我在表单上使用了Magento表单验证,但当我单击提交时,表单什么也不做。我可以看到“validation passed”类已应用于所有元素,但什么也没有发生

<form action="http://XXXXXXX/newslettersignup/" method="post" id="newsletter-validate-detail">
    <div class="formBox">
        <ul class="form-list">
            <li>
                <div class="field">
                    <label for="email" class="required">Email</label>
                    <div class="input-box">
                        <input  type="email" name="email" id="email" title="Email" value="" class="input-text required-entry validate-email" />
                    </div>
                </div>
            </li>
            <li id="title_item">
                <div class="field">
                    <label for="title" class="required">Title</label>
                    <div class="input-box">
                        <select id="title" name="title" title="Title">
                            <option value="Mrs">Mrs</option>
                            <option value="Miss">Miss</option>
                            <option value="Ms">Ms</option>
                            <option value="Mr">Mr</option>
                            <option value="Dr">Dr</option>
                            <option value="Lady">Lady</option>
                            <option value="Other">Other</option>
                        </select>
                    </div>
                </div>
            </li>
            <li id="other_title_item" style="display:none;">
                <div class="field">
                    <label for="other_title" >Other</label>
                    <div class="input-box">
                        <input name="other_title" id="other_title" title="Title" value="" class="input-text" type="text" />
                    </div>
                </div>
            </li>
            <li>
                <div class="field">
                    <label for="firstname" class="required">First Name</label>
                    <div class="input-box">
                        <input name="firstname" id="firstname" title="First Name" value="" class="input-text required-entry" type="text" />
                    </div>
                </div>
            </li>
            <li>
                <div class="field">
                    <label for="lastname" class="required">Surname</label>
                        <div class="input-box"><input name="lastname" id="lastname" title="Surname" value="" class="input-text required-entry" type="text" /></div>
                        <button type="submit" title="Sign up" class="button slidein-submit">
                            <span><span>Sign up</span></span>
                        </button>
                </div>
            </li>
        </ul>
    </div>
</form>

<script type="text/javascript">
    //<![CDATA[
        var newsletterSubscriberFormDetail = new VarienForm('newsletter-validate-detail');
    //]]>
</script>

  • 电子邮件
  • 标题 夫人 错过 太太 先生 博士 女士 其他
  • 其他
  • 名字
  • 姓 注册
//
我已检查您的表单是否正在进行验证。这是正确的。您需要将此表单放入phtml文件中,然后进行检查。如果不起作用,那么您需要检查jquery是否有任何错误,或者您是否有与此冲突的代码。

问题是,我在页面上有两个表单,它们的id相同“newsletter validate detail”

我通过在varien/js.js的第321行放置一个断点发现了这一点,该断点显示另一个输入未通过页面上的验证。我意识到这个输入属于同一ID的另一种形式


一旦我在表单上更改了表单id,它就可以提交了。

Magento版本为1.9.1删除前端原型验证,并在后端执行所有验证。在注册控制器中放置一个var_转储,然后在它之后死亡。发布控制器的内容和var_dump输出,以便我们可以为您提供更多帮助。如果自定义验证不起作用,您也可以使用自定义验证,但了解其不起作用的原因将提供更多信息。我从表单中删除了验证,它仍然不会提交。有东西阻止了表单上的提交事件。Thx,同样的问题)