[英]Use javascript to alter submit link
好的,所以我有一个脚本,当您单击链接时,它会动态添加一个表单字段,是否有可能使它成为可能,因此在提交时,它会转到“ example.com?7”(7个文件,共7个文件),我的意思是如果我单击它5次,并且有5个文件字段,并且我选择5个文件,我可以将其链接为mysite.php吗?5
这是脚本:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="application/javascript">
function add(){
var field = document.createElement('input');
field.setAttribute("type", "file");
field.setAttribute("name", "yo");
document.getElementById('myform').appendChild(field);
}
</script>
</head>
<body>
<form id="myform" name="form1" enctype="multipart/form-data" method="post" action="">
<p>File:
<input type="file" name="hello" id="hello" />
</p>
<p>
<input name="submit" type="submit" value="Submit" />
</p>
</form>
<a href="#" onclick="add()">Click Here</a>
</body>
</html>
非常感谢!
我建议给新添加的字段class =“ classX”,并在提交表单时计数带有getElementsByClassName的指定类的元素数
我发现它比每次添加字段都增加一个值更简单
只需在表单中保留一个额外的隐藏字段(称为“计数”),并在脚本添加另一个文件输入时让脚本增加其值。
就像是?
function doSubmit() {
var myForm = document.getElementById('myForm'); //Get myForm
var childNodes = myForm.childNodes; //Count child nodes
var fields = 0;
for ( var node in childNodes ) {
if ( childNodes[node].tagName == 'P' ) fields++;
}
myForm.setAttribute('action', 'mysite.php?'+fields);
}
它计算myForm正下方的所有P元素。 不完美,但它应该可以工作! 只需添加一个onsubmit='doSubmit();
我会保持简单,并跟踪您添加了多少文件字段。 每次添加新文件字段时,只需更新url。
var numFileElements = 1;
function add(){
var field = document.createElement('input');
field.setAttribute("type", "file");
field.setAttribute("name", "yo");
var myForm = document.getElementById('myform');
myForm.appendChild(field);
++numFileElements;
myForm.setAttribute('action', '?'+ numFileElements);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.