【问题标题】:Passing multiple strings from html form to javascript function? [duplicate]将多个字符串从html表单传递给javascript函数? [复制]
【发布时间】:2015-09-06 17:27:59
【问题描述】:

我正在尝试使用按钮和 Onclick="myfunction(value1,value2)" 将 HTML 表单中的 2 个值传递到 javascript 函数中。 到目前为止,我没有运气。

您可以在这里查看网站和源代码:View Page

这是我的代码:

Javascript - Ajax 调用:

<script type="text/javascript">
function verification_email(name,email) {

    var xmlhttp;
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
    }
    else {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function() {
      if (xmlhttp.readyState==4 && xmlhttp.status==200) {
        document.getElementById("result").innerHTML=xmlhttp.responseText;
      }
    }

    xmlhttp.open("POST","send_verification_email.php?",true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send("name="+name+"++email="+email);

}
</script>

HTML 表单:

            <h3 class="subtitle">Verification Details:</h3>
            <p><input type="text" class="form-control" placeholder="First Name" id="name" /></p>
            <p><input type="text" class="form-control" placeholder="Email Address" id="email"/></p>

            <p><button class="btn btn-primary" Onclick="verification_email('name','email')">Request Verifcation Code</button></p>

</form>

有没有标准的方法来做到这一点? 我离题了吗?

感谢您的帮助!

【问题讨论】:

  • 如果我们不知道您在做什么,我们应该如何帮助您?请发布您的代码。
  • 我想把它全部写在我的手机上,这该死的几乎是不可能的,所以我去抓起那台很好的旧笔记本电脑来添加代码。我希望它现在更有意义。
  • 嗯,您实际上是在将字符串“name”和“email”传递给函数,而不是相应字段的值。所以我猜你的实际问题是“如何通过名称获取输入的值”
  • 你期待什么?因为您的代码似乎可以正常工作
  • 回过头来看看我 4 年前问过的问题类型总是很基础 - 卑微的开端 :)

标签: javascript


【解决方案1】:

您正在传递字符串文字 "name""email" 而不是适当的值。

除非您打算从同一页面中的多个位置调用验证函数,否则您可以简单地将值读入函数本身的变量中,并且不使用任何参数:

HTML

<p><button class="btn btn-primary" onclick="verification_email()">Request Verifcation Code</button></p>

JS

function verification_email() {
    var name = document.getElementById('name').value;
    var email = document.getElementById('email').value;
    var xmlhttp;
    etc...

【讨论】:

    【解决方案2】:

    您需要获取要发送的字段的值,收集这些值并将它们传递给您的函数。

    <button class="btn btn-primary" Onclick="verification_email(document.getElementById('name').value,document.getElementById('email').value)">Request Verifcation Code</button>
    

    还有其他——非最佳实践——收集这些信息的方法,例如:

    this.form.name.value    
    this.form.email.vlaue
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-31
      • 1970-01-01
      • 1970-01-01
      • 2018-07-21
      • 2012-12-04
      • 1970-01-01
      • 2017-08-06
      • 1970-01-01
      相关资源
      最近更新 更多