繁体   English   中英

使用JavaScript更改提交链接

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM