【发布时间】:2014-08-06 11:28:44
【问题描述】:
我一直在尝试创建一个包含 5 个文本框、1 个下拉菜单和一个文本区域的表单。我的意图很简单;从下拉列表中选择一个选项(除了第一个,即“--Select--”),将内容输入到文本框和文本区域。单击提交后,上述所有输入信息都应附加到特定链接,这些链接硬编码到每个下拉选项中。
我的挑战是,当我单击提交时,控件没有传递给新表单,即打开了所需的页面,但没有输入表单字段。我已经交叉验证并确认 id 是正确的。我猜我在验证中犯了一个错误。请指出我的错误..
Javascript 代码
<script type="text/javascript">
function dpdown(form)
{
var a="&name="+document.getElementById('name').value; //textbox
var b="&job_id="+document.getElementById('job_id').value;//textbox
var c="&major"+document.getElementById("major').value;//textbox
var d="&native="+document.getElementById('native').value;//textbox
var e="&age="+document.getElementById('age').value;//textbox
var f="&details="+encodeURIComponent(document.getElementById('details').value);//textarea
var i, counter = 0;
var ddl = document.getElementById("jobs");//dropdown
var selectedValue = ddl.options[ddl.selectedIndex].value;
for(var i=0; i < obj.options.length; i++)
{
if(obj.options[i].selected) // to check if the person has chosen a suitable degree
if (selectedValue == "selectdegree")
{
alert("Please select your correct degree");
}
else
{
++counter;
window.open('https://'+form.elements[i].value+a+b+c+d+e+f,'_blank'); // when the submit button is clicked, all the above fields should get appended to a preset link which has been hardcoded for each degree.
}
}
}
function cleartext()// to clear the form (works correctly)
{
document.form.details.value='';
}
HTML 代码
<form onsubmit="dpdown(this); return false;"> // at the beginning of the form
'
'
'
'
<input type="submit" value=" Create form" /> // not working
<input type='reset' value='Clear Ticket' name='reset' onclick="return resetForm(this.form);cleartext();"> // works well
【问题讨论】:
-
obj来自哪里? -
我认为您无法打开新的浏览器窗口以及值。所以我认为您首先需要将输入的值放入 cookie 中,然后您可以在页面上解析值。
标签: javascript html forms submit getelementbyid