【问题标题】:A href onclick not working一个 href onclick 不起作用
【发布时间】:2014-08-08 07:37:17
【问题描述】:

嘿,我知道以前有人问过这个问题,但是那些论坛没有按照我的代码给出答案!

<a href="#"  class="button dark"
                   value="Register" 
                   onclick="return regformhash(this.form,
                                   this.form.username,
                                   this.form.email,
                                   this.form.password,
                                   this.form.confirmpwd);" >Register</a> 

在上面的代码中,它给了我一个错误 Uncaught SyntaxError:

chrome 控制台中出现意外的令牌非法。

使用 input type= button 可以完美运行,但在这种情况下,预定义样式“深色按钮”不起作用。我不想弄乱 CSS,所以谁能告诉我如何解决这个问题?

P.S. 没有引号没有问题,任何帮助将不胜感激!谢谢。

更新:表单代码也是:

<form action="<?php echo esc_url($_SERVER['PHP_SELF']); ?>" 
                method="post" 
                name="registration_form">
                First name: (required)<input type="text" name="firstname"/>
                <br>
                Last name: (required) <input type="text" name="lastname"/>
                <br>
                Company: <input type="text" name="company" />
                <br>
                Contact number: <input type="text" name="contact" />
                <br>
                Username: <input type='text' 
                name='username' 
                id='username' /><br>
                Email: <input type="text" name="email" id="email" /><br>
                <br>
                Password: <input type="password"
                             name="password" 
                             id="password"/><br>
                <br>
                Confirm password: <input type="password" 
                                     name="confirmpwd" 
                                     id="confirmpwd" /><br>
            <a href="javascript:regformhash(this.form,
                                   this.form.username,
                                   this.form.email,
                                   this.form.password,
                                   this.form.confirmpwd);"  class="button dark"
                   value="Register" 
                   >Register</a> 
        </form>

【问题讨论】:

  • 您确定a 元素被放置在某个form 容器中吗?如果不是,则应将其 form 属性分配给某个表单名称。
  • 是的,它在表单容器内
  • a 元素不会有 .form 属性,尽管您的错误消息与您应该收到的错误不匹配。
  • @rushsangs 我认为您正在尝试使用锚标记而不是提交按钮提交表单。那么你应该检查这个Link
  • @KingKing 是的,就是这样.. 我通过它的 id 调用了表单并且它起作用了!谢谢!!

标签: javascript html css onclick href


【解决方案1】:

你可以这样试试……

只需传递表单,然后像这样访问函数中的其他字段..

<a href="#"  class="button dark"
                   value="Register" 
                   onclick="return regformhash(document.getElementById('myform')
                                  );" >Register</a>



 function regformhash(frm){
    alert(frm.username.value)
 return false;
    }

myform 是表单的 ID

【讨论】:

  • 谢谢!那太完美了!
【解决方案2】:

您似乎正在尝试使用anchor 标签而不是submit 按钮提交表单。

只需将您的锚标记元素完全替换为:

<a href="javascript:document['registration_form'].submit()" class="button dark" value="Register">Register</a>

无需regformhash()函数提交表单。

Source

【讨论】:

  • 我没有使用锚标记,我在通过 php 提交代码后进行了一些注入预防。但感谢问题只是在 this.form 属性中
猜你喜欢
  • 1970-01-01
  • 2012-01-29
  • 1970-01-01
  • 2019-07-08
  • 1970-01-01
  • 1970-01-01
  • 2019-10-13
  • 2011-07-08
  • 2018-07-11
相关资源
最近更新 更多