我需要保留前一個if語句的值,然後在下一個if語句中輸出來自前一個if語句的值(其值爲相同值)(authorId = 2)。從以前的if語句中取值
我的意思是我需要保留if語句的值(authorId === 1),然後在下一個if語句(authorId = 2)中打印出另一個值。 因此,我需要保留authorSurname.value(id = 1)並將其作爲secondAuthor.value打印在if語句(authorId = 2)中,因爲在if語句(authorId = 2)中,字符串authorSurname需要另一個值。我的代碼是:
你能告訴我如何解決它?
<!DOCTYPE HTML>
<html lang='pl'>
<head>
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1'>
<link rel='stylesheet' href='css/style.css'>
<!-- dynamic form - script -->
<script type="text/javascript">
window.onload = Load;
var numberOfAuthors = 0;
function Load()
{
document.getElementById('add_input').onclick = AddElement;
}
function AddElement()
{
var element1 = document.createElement('input');
var element2 = document.createElement('input');
var element3 = document.createElement('input');
var label1 = document.createElement('label');
var label2 = document.createElement('label');
var label3 = document.createElement('label');
var button = document.createElement('input');
var number = numberOfAuthors;
label1.innerHTML = "</br>Next Author's Name "+"</br>";
label1.setAttribute('id', 'authorNameLabel' + number);
element1.setAttribute('type', 'text');
element1.setAttribute('id', 'authorName' + number);
element1.setAttribute('placeholder', "author's name");
label1.appendChild(element1);
label2.innerHTML = "</br>Next Author's Initials " + "</br>";
label2.setAttribute('id', 'authorInitialsLabel' + number);
element2.setAttribute('type', 'text');
element2.setAttribute('id', 'authorInitials' + number);
element2.setAttribute('placeholder', "Author's Initials...");
label2.appendChild(element2);
label3.innerHTML = "</br>Next Author's surname" + '</br>';
label3.setAttribute('id', 'authorSurnameLabel' + number);
element3.setAttribute('type', 'text');
element3.setAttribute('id', 'authorSurname' + number);
element3.setAttribute('placeholder', "Author's surname...");
label3.appendChild(element3);
button.setAttribute('onclick', 'removeAuthor(' + number + ')');
button.setAttribute('type', 'button');
button.setAttribute('id', 'removeAuthorButton' + number);
button.setAttribute('value', 'Button');
document.forms['add_file'].appendChild(label1);
document.forms['add_file'].appendChild(label2);
document.forms['add_file'].appendChild(label3);
document.forms['add_file'].appendChild(button);
numberOfAuthors++;
}
function removeELement(id) {
var elem = document.getElementById(id);
return elem.parentNode.removeChild(elem);
}
function removeAuthor(authorId){
removeELement("authorName"+authorId);
removeELement("authorInitials"+authorId);
removeELement("authorSurname"+authorId);
removeELement("removeAuthorButton"+authorId);
removeELement("authorNameLabel"+authorId);
removeELement("authorInitialsLabel"+authorId);
removeELement("authorSurnameLabel"+authorId);
numberOfAuthors--;
getText();
}
function getText(){
console.log(numberOfAuthors);
var div = document.getElementById("readyorder");
var firstAuthorName = document.getElementById("firstAuthorName");
var firstAuthorInitials = document.getElementById("firstAuthorInitials");
var firstAuthorSurname = document.getElementById("firstAuthorSurname");
// var secondAuthorSurname =
for(var authorId = 0 ; authorId < numberOfAuthors ; authorId++){
var authorName = document.getElementById("authorName"+authorId);
var authorInitials = document.getElementById("authorInitials" + authorId);
var authorSurname = document.getElementById("authorSurname" + authorId);
}
var publisher = document.getElementById("publisher");
var page = document.getElementById("page");
var pageOther = document.getElementById("pageOther");
var pageOtherValue = pageOther.value;
if(pageOther.value!=""){
pageOtherValue = "-" + pageOther.value;
}else{
pageOtherValue = "";
}
var year = document.getElementById("year");
var secondAuthorSurname;
if(authorId === 0) {
div.innerHTML = firstAuthorSurname.value + " (" + year.value + ", s."+page.value + pageOtherValue + ") states that, że \".......\" " + ")"}
else if (authorId === 1) {
div.innerHTML = firstAuthorSurname.value + " i " + authorSurname.value + " (" + year.value + ") state that \".......\";
var secondAuthorSurname = authorSurname.value;
}
else if (authorId === 2) {
// I need to keep the value from authorSurname.value from the if statement above and use it as the secondAuthorSurname below
//authorSurname takes different value because of the loop
var secondAuthorSurname = authorSurname;
div.innerHTML = firstAuthorSurname.value + ", " + secondAuthorSurname.value + " and " + authorSurname.value + " (" + year.value + ") state that \".......\";
}
}
function handlePages(){
var cboxPageRange = document.getElementById("cboxPageRange");
if (cboxPageRange.checked){
var pageOther = document.getElementById("pageOther");
pageOther.style.display="block";
}else{
var pageOther = document.getElementById("pageOther");
pageOther.style.display="none";
pageOther.value="";
getText();
}
}
</script>
</head>
<body>
<div class='container'>
<!-- header -->
<header>
<img src="images/header.jpg" alt=""/>
</header>
<!-- static form 1 -->
First Author's Name <br />
<input type="text" id="firstAuthorName" /> <br />
First Author's Initials <br />
<input type="text" id="firstAuthorInitials" /> <br />
First Author's Surname <br />
<input type="text" id="firstAuthorSurname" /> <br />
<!-- dynamic form -->
<input type="submit" value="Add author" id="add_input" />
<form name="add_file" enctype="multipart/form-data" method="post">
</form>
<div id="readyorder"></div><br/>
<!-- static form 2 -->
Publisher<br />
<input type="text" id="publisher"><br />
Page<br />
<input type="text" id="page">
<input type="checkbox" id="cboxPageRange" value="pageRangeCheckbox" onclick="handlePages()">
<input type="text" id="pageOther" class="pageOther">
<br>
Year<br>
<input type="text" id="year"><br/>
<input type="submit" value="check" onclick="getText()" /> <br/><br/>
<!-- readyorder -->
<div id="readyorder"></div><br/>
<!-- sidebar -->
<aside>
<nav>
<ul>
<li><a href="index.html">Main</a></li>
<li><a href="#">Change style</a></li>
</ul>
</nav>
</aside>
<!-- main -->
<section id="main">
<h1>Take your order!</h1><br/>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras condimentum tempus mi, maximus volutpat urna sollicitudin vitae. Vivamus rutrum mi sit amet commodo rutrum. Suspendisse potenti. Sed a ullamcorper eros. Maecenas dapibus erat mi, a egestas ipsum cursus volutpat. Aliquam posuere mi at consectetur convallis. Cras vitae ligula eget leo ultrices hendrerit nec sed ex. Morbi at ipsum rhoncus, dictum elit in, consectetur lorem. Aliquam suscipit diam sit amet mauris luctus, a egestas magna pharetra. Donec laoreet viverra risus nec fermentum. Maecenas gravida lectus vel ante commodo bibendum. Donec ac pellentesque mi. </p>
</section>
<!-- footer -->
<footer>
<p>Lorem Ipsum © 2017</p>
</footer>
</div>
</body>
</html>
如果塊返回在div.innerHTML之前,最後一個if塊中的'div.innerHTML = firstAuthorSurname.value + ...'永遠不會執行 – Andreas
。 –
所以你想我把div.inner.HTML後面的返回塊? – lookasz