Javascript/HTML传输表单控件以提交
我一直在尝试创建一个包含5个文本框、1个下拉列表和一个文本区域的表单。我的意图很简单;从下拉列表中选择一个选项(第一个选项除外,即“-select-->”),在文本框和文本区域中输入内容。单击“提交”后,上面输入的所有信息都应附加到特定链接,这些链接硬编码到每个下拉选项中 这里我的挑战是,当我单击submit时,控件不会传递到新表单,即打开所需的页面,但不会输入表单字段。我已经交叉验证并确认ID是正确的。。我猜我在验证中犯了一个错误。请指出我的错误 Javascript代码Javascript/HTML传输表单控件以提交,javascript,html,forms,submit,getelementbyid,Javascript,Html,Forms,Submit,Getelementbyid,我一直在尝试创建一个包含5个文本框、1个下拉列表和一个文本区域的表单。我的意图很简单;从下拉列表中选择一个选项(第一个选项除外,即“-select-->”),在文本框和文本区域中输入内容。单击“提交”后,上面输入的所有信息都应附加到特定链接,这些链接硬编码到每个下拉选项中 这里我的挑战是,当我单击submit时,控件不会传递到新表单,即打开所需的页面,但不会输入表单字段。我已经交叉验证并确认ID是正确的。。我猜我在验证中犯了一个错误。请指出我的错误 Javascript代码 <script
<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='';
}
函数dpdown(表单)
{
var a=“&name=“+document.getElementById('name').value;//文本框
var b=“&job_id=“+document.getElementById('job_id')。value;//文本框
var c=“&major”+document.getElementById(“major”).value;//文本框
var d=“&native=“+document.getElementById('native').value;//文本框
var e=“&age=“+document.getElementById('age').value;//文本框
var f=“&details=“+encodeURIComponent(document.getElementById('details').value);//textarea
变量i,计数器=0;
var ddl=document.getElementById(“作业”);//下拉列表
var selectedValue=ddl.options[ddl.selectedIndex].value;
对于(变量i=0;i
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
//在表单的开头
'
'
'
'
//不起作用
//效果很好
请检查一下
<html>
<head>
<script language="javascript">
function dpdown(){
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 < ddl.length; i++)
{
if(ddl.options[i].selected) // to check if the person has chosen a suitable degree
if (selectedValue == "selectdegree")
{
alert("Please select your correct degree");
}
else
{
++counter;
value=ddl.options[i].value;
window.open('https://'+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()
{
document.form.details.value='';
}
</script>
</head>
<body>
<form>
<input type="text" id="name"/>
<input type="text" id="job_id"/>
<input type="text" id="major"/>
<input type="text" id="native"/>
<input type="text" id="age"/>
<input type="textarea" id="details"/>
<select id="jobs" >
<option value="www.google.com">google</option>
<option value="www.yahoo.com">yahoo</option>
<option value="www.stackoverflow.com">stackoverflow</option>
</select>
<input type="button" value=" Create form" onclick="dpdown();"/>
<input type='reset' value='Clear Ticket' name='reset' onclick="return resetForm(this.form);cleartext();">
</form>
</body>
</html>
函数dpdown(){
var a=“&name=“+document.getElementById('name').value;//文本框
var b=“&job_id=“+document.getElementById('job_id')。value;//文本框
var c=“&major”+document.getElementById('major').value;//文本框
var d=“&native=“+document.getElementById('native').value;//文本框
var e=“&age=“+document.getElementById('age').value;//文本框
var f=“&details=“+encodeURIComponent(document.getElementById('details').value);//textarea
变量i,计数器=0;
var ddl=document.getElementById(“作业”);//下拉列表
var selectedValue=ddl.options[ddl.selectedIndex].value;
对于(变量i=0;i
obj从何而来?我认为您无法打开带有值的新浏览器窗口。因此,我认为您首先需要将输入的值放入Cookie中,然后才能解析页面上的值。您好,用户3875452,感谢您的编辑,尽管删除了“form.elements[I]之后,代码似乎部分工作正常“value”部分,链接没有被提取,但是应该附加到链接的所有其他字段都被打开了..有没有办法纠正这个错误?我的建议是将form.elements[i]分配给变量,并在indow.open.eg.value=“www.google.com”window.open('https://'+value+a+b+c+d+e+f,''u blank')中使用这个变量;更具体地说,下拉列表中的每个选择都有一个链接,当我单击下拉列表中的“a”选项并单击“提交”时,该链接将与这些附加字段一起在新页面中打开…目前只有新选项卡与字段一起打开,但实际链接没有打开..完美它就像一个符咒:)我还有一个问题关于下拉菜单的选项。如果要添加另一个下拉菜单,我可以使用相同的方法吗?因为对于我添加的下一个下拉菜单,所选值应显示在文本框中。这可能吗?