我正在尝试创建一种表单,该表单允许用户键入其姓氏和名字,然后提交。我想输入他们输入的名字和姓氏,然后将数据放在mailto链接中。下面的代码是我所拥有的。我在做什么错了?
<div class="form">
<form>
<input type="text" name="firstname" placeholder="First Name">
<input type="text" name="lastname" placeholder="Last Name">
<button type="submit" class="submit" onclick="submitForm()"><i class="material-icons md-24">play_circle_filled</i></button>
</form>
<script>
function submitForm{
var fname = get.getElementsByName("firstname").value;
var lname = get.getElementsByName("lastname").value;
window.open("mailto:someone@example.com?subject=Test%20Email&body=First%20Name:%20"+fname+"%20Last%20Name:"+lname"");
}
</script>
</div>
答案 0 :(得分:0)
已编辑:清除了您的JavaScript
function submitForm(){
var fname = document.getElementsByName("firstname").value;
var lname = document.getElementsByName("lastname").value;
window.open("mailto:someone@example.com?subject=Test%20Email&body=First%20Name:%20"+fname+"%20Last%20Name:"+lname);
}
答案 1 :(得分:0)
首先,您在函数名称后忘记了括号(如Erl V所述)。 函数总是带有这些括号。您可以使用它们来给函数参数。详细了解函数here。
第二,您忘记了window.open参数的串联字符串中的加号。 我删除了最后一部分,因为它是不必要的。
第三,您使用的是get.getElementsByName("firstname").value
而不是document.getElementsByName("firstname")[0].value
。
这已经过测试,应该可以工作:
<form>
<input type="text" name="firstname" placeholder="First Name">
<input type="text" name="lastname" placeholder="Last Name">
<button type="submit" class="submit" onclick="submitForm()">Submit</button>
</form>
<script>
function submitForm(){
var fname = document.getElementsByName("firstname")[0].value;
var lname = document.getElementsByName("lastname")[0].value;
window.open("mailto:someone@example.com?subject=Test%20Email&body=First%20Name:%20"+fname+"%20Last%20Name:"+lname);
}
</script>
答案 2 :(得分:0)
尝试一下
function submitForm(form) {
window.open("mailto:someone@example.com?subject=Test%20Email&body=First%20Name:%20" + form.firstname.value + "%20Last%20Name:" + form.lastname.value);
return false; /* cancel submit or else page reloads */
}
<form onsubmit="return submitForm(this);">
<input type="text" name="firstname" placeholder="First Name" />
<input type="text" name="lastname" placeholder="Last Name" />
<button type="submit" class="submit"><i class="material-icons md-24">play_circle_filled</i></button>
</form>
顺便说一句,以下是您的代码中的错误。
:"+lname""); /*unwanted "" at the end*/
在这里,您有多项更正:
get.getElementsByName("firstname").value
不是get.
而是document.
,而且getElementsByName()
也会返回NodeList
而不是一个HTML元素,因此同样,您将需要使用索引,所以你最终得到document.getElementsByName("firstname")[0].value