我有以下代码来提交表单
<form class="sh-form" onsubmit="validateCmntForm(this);">
,当我尝试使用以下代码从提交的表单中获取字段值时,它返回f.getElementById not a function
错误
validateCmntForm(f){
let nameField = f.getElementById('sh-cmnt-fullname');
console.log(nameField)
}
我在这里做错了什么?有人可以帮我吗?
更新:使用此in函数传递表单的原因是,我在页面上有多种相同类型的表单,因此不能对此使用id,而必须从提交的表单中获取字段值
答案 0 :(得分:2)
您可以直接引用Submit事件(target
将是附加的子代的数组),或者您可以根据需要通过ID引用输入。我在下面展示了两个片段,以演示两者。
function validateCmntForm(event) {
event.preventDefault();
console.log(event.target[0].value);
console.log(document.getElementById('sh-cmnt-fullname').value);
}
<form class="sh-form" onsubmit="validateCmntForm(event)">
<input id="sh-cmnt-fullname" type="text" />
<button type="submit">Submit</button>
</form>
答案 1 :(得分:1)
使用返回validatecmntform
function validateCmntForm(oForm){
console.log(oForm.elements["name"].value) // this is how you can get form data
return false;
}
<form class="sh-form" onsubmit="return validateCmntForm(this);">
<input type="text" name="name" id="myname">
<input type="submit" value="submit">
</form>
答案 2 :(得分:1)
尝试
<form onsubmit='return validateCmntForm()' method='post' name='myForm'>
<input type="text" name="eName">
</form>
脚本中
<script type="text/javascript">
validateCmntForm = function(){
var eName = document.forms['myForm']['eName'].value;
console.log(eName)
}
</script>