将多个值传递给另一个页面

时间:2017-06-13 11:53:11

标签: javascript html

我目前有文本字段,我在其中设置了一个值,只要按下更改按钮,此功能就会被触发:

function change1(){
   var myNewTitle = document.getElementById('myTextField1').value;
   if( myNewTitle.length==0 ){
       alert('Write Some real Text please.');
   return;
   }
  document.getElementById("myLink").href="convert.php?var1=" + myNewTitle ;
   var titles = document.getElementsByClassName('title1');
   Array.prototype.forEach.call(titles,title => {
    title.innerHTML = myNewTitle;
   });
}

以下是文本字段的示例:

  Voornaam: <h3 class="title1">Kevin</h3>
  <input type="text" id="myTextField1" />
  <input type="submit" id="byBtn" value="Change" onclick="change1()"/><br/>

传递这样的值似乎工作得很好,但问题是我有一些其他的文本字段和更多的更改功能。但是,如何从多个文本字段中传递多个值,就像我刚才显示的那样?

所以让我们说textfield 1附加到函数change1,我有textfield 2附加到几乎相同的函数更改2.我如何创建它所以我从textfield 2传递另一个值所以将textfield 1和2中的两个值传递给另一个页面。

编辑: 我已经尝试过了,但这不起作用,但这是我希望它能如何运作的想法。

function change1(){
   var myNewTitle = document.getElementById('myTextField1').value;
   if( myNewTitle.length==0 ){
       alert('Write Some real Text please.');
   return;
   }
  document.getElementById("myLink").href="convert.php?var1=" + myNewTitle +"&var2=" +  myNewTitle2;
   var titles = document.getElementsByClassName('title1');
   Array.prototype.forEach.call(titles,title => {
    title.innerHTML = myNewTitle;
   });
}
function change2(){
   var myNewTitle2 = document.getElementById('myTextField2').value;
   if( myNewTitle.length==0 ){
       alert('Write Some real Text please.');
   return;
   }
   document.getElementById("myLink").href="convert.php?var1=" + myNewTitle +"&var2=" +  myNewTitle2;
   var titles = document.getElementsByClassName('title2');
   Array.prototype.forEach.call(titles,title => {
    title.innerHTML = myNewTitle2;
   });
}

3 个答案:

答案 0 :(得分:1)

试试这个:

document.getElementById("myLink").href="convert.php?var1=" + myNewTitle +"&var2=" +  myNewTitle;

&运算符用于在url上传递值

答案 1 :(得分:0)

比特粗略,但你可以将所有输入合并为一个字符串,然后将该字符串拆分为“&amp; _&amp;”在接收器?见下面的代码

var myString = "";
function change1(what){
	var myNewTitle = document.getElementById(what).value;
	myString += "&_&"
	myString += myNewTitle;
	alert("var1="+myString);
}
<head>
<title>Untitled Document</title>

</head>

<body>
<input type="text" id="myTextField1" />
<input type="submit" id="byBtn" value="Change" onclick="change1('myTextField1')"/><br/>
</body>

编辑:刚刚看过您的原始帖子编辑。

如果您在PHP中使用explode(),则上述代码将起作用。见http://php.net/manual/en/function.explode.php

编辑2:

document.getElementById("myLink").innerhtml = '<a href="convert.php?var1=' + 
myString + '">click here</a>';

答案 2 :(得分:0)

您可以使用localStorage()在其他页面中传递多个值,而不是在URL中传递值。

第1页

function change1(){
  localStorage.setItem("Txt1", document.getElementById('myTextField1').value);
  localStorage.setItem("Txt2", document.getElementById('myTextField2').value);
  localStorage.setItem("Txt3", document.getElementById('myTextField3').value);
  localStorage.setItem("Txt4", document.getElementById('myTextField4').value);
}

第2页

alert(localStorage.getItem("Txt1"));