What's new

Closed Javascript please help

Status
Not open for further replies.

SUNRAI

Eternal Poster
Joined
Feb 1, 2018
Posts
515
Reaction
59
Points
349
Age
23
Anyone ano kayang problem sa code ko gagawa lang sana ako ng onclick button na may input text pero ayaw talaga gumana
<html>
<body>

<input type="text" id="demo">



<button onclick="displaySign()" >Click me</button>

<script >

var day = "april 30" ;
day = day.toLowerCase()
day = day.split(' ')



switch (true) {

case (day[0] == 'march' && day[1] >= 21 ): case (day[0] == 'april' && day[1] <= 19 ): sign = "aries";
break;

case (day[0] == 'april' && day[1] >= 20 ): case (day[0] == 'may' && day[1] <= 20 ): sign = "taurus";
break;

case (day[0] == 'may' && day[1] >= 21 ): case (day[0] == 'june' && day[1] <= 20 ): sign = "gemini";
break;

case (day[0] == 'june' && day[1] >= 21 ): case (day[0] == 'july' && day[1] <= 22 ): sign = "cancer";
break;

case (day[0] == 'july' && day[1] >= 23 ): case (day[0] == 'august' && day[1] <= 22 ): sign = "leo";
break;

case (day[0] == 'august' && day[1] >= 23 ): case (day[0] == 'september' && day[1] <= 22 ): sign = "virgo";
break;

case (day[0] == 'september' && day[1] >= 23 ): case (day[0] == 'october' && day[1] <= 22 ): sign = "libra";
break;

case (day[0] == 'october' && day[1] >= 23 ): case (day[0] == 'november' && day[1] <= 21 ): sign = "scorpio";
break;

case (day[0] == 'november' && day[1] >= 22 ): case (day[0] == 'december' && day[1] <= 21 ): sign = "sagittarius";
break;

case (day[0] == 'december' && day[1] >= 22 ): case (day[0] == 'january' && day[1] <= 19 ): sign = "capricorn";
break;

case (day[0] == 'january' && day[1] >= 20 ): case (day[0] == 'febuary' && day[1] <= 18 ): sign = "aquarius";
break;

case (day[0] == 'febuary' && day[1] >= 19 ): case (day[0] == 'march' && day[1] <= 20 ): sign = "pisces";
break;

}
function displaySign() {
document.getElementById("demo"). innerHTML = "Your sign is"+ " " + sign;
}

</script>




</body>
</html>
 
What to do:
- kunin mo yung input value nito. (hint: document.getElementById().value)
HTML:
<input type="text" id="demo">
 
Last edited:
[XX='SUNRAI, c: 445791, m: 1073865'][/XX]
JavaScript:
// kunin mo muna yung mga elements
var inputfield = document.getElementById("inputId")
var displayElem = document.getElementById("displayId")

function DisplaySign(){
    displayItem.innerHTML = inputfield.value
}
 
san kaba nasabit, based on what ive seen , driven by a given value na yan; natry mo na ba palabasin ung resulkt ng april 30?
 
Pre, may mga comments akong pinasok, ikaw nalang mag validate if may desired kang input value na gusto sundin; beginner lang din ako, hehe; alam kong may effecient jan na solution but siguro at least may idea ka. bago lang din ako sa JS mga 1 month haha.

day = day.toLowerCase()
sa code na to kanina ako medyo naguluhan, di ka pwede mag pass ng integer/number sa lowercase na method.
kaya kelangan mong i .toString(); muna bago is Lowercase;

sa mga master jan, pacorrect nalang. inaantok nako haahaa
 
Last edited:
HTML:
<html>

<body style="text-align:center;">
  <p>
    Please enter your date of birth:
    <br>
    Format: MONTH + space + DATE;
    <br>
    Example: march 12/Cctober 2/APRIL 23/ocTobeR 29
  </p>
  <input type="text" id="demo">
  <button onClick="display();">What's my zodiac?</button>
  <button onclick="document.getElementById('demo').value = '';">Clear Input</button>
  <p id="zodiac"></p>

<script>
function display(){
  //identifies the value of the text box and assigns to a variable
  var input = document.getElementById("demo").value;

  //passes the input value into a string first then formats to lowercase which prepares split
  var day = input.toString().toLowerCase();

  //passes input value to be splitted for the switch
  var day = day.split(' ');

  switch (true) {
    case (day[0] == 'march' && day[1] >= 21):
    case (day[0] == 'april' && day[1] <= 19):
      sign = "aries";
      break;
    case (day[0] == 'april' && day[1] >= 20):
    case (day[0] == 'may' && day[1] <= 20):
      sign = "taurus";
      break;
    case (day[0] == 'may' && day[1] >= 21):
    case (day[0] == 'june' && day[1] <= 20):
      sign = "gemini";
      break;
    case (day[0] == 'june' && day[1] >= 21):
    case (day[0] == 'july' && day[1] <= 22):
      sign = "cancer";
      break;
    case (day[0] == 'july' && day[1] >= 23):
    case (day[0] == 'august' && day[1] <= 22):
      sign = "leo";
      break;
    case (day[0] == 'august' && day[1] >= 23):
    case (day[0] == 'september' && day[1] <= 22):
      sign = "virgo";
      break;
    case (day[0] == 'september' && day[1] >= 23):
    case (day[0] == 'october' && day[1] <= 22):
      sign = "libra";
      break;
    case (day[0] == 'october' && day[1] >= 23):
    case (day[0] == 'november' && day[1] <= 21):
      sign = "scorpio";
      break;
    case (day[0] == 'november' && day[1] >= 22):
    case (day[0] == 'december' && day[1] <= 21):
      sign = "sagittarius";
      break;
    case (day[0] == 'december' && day[1] >= 22):
    case (day[0] == 'january' && day[1] <= 19):
      sign = "capricorn";
      break;
    case (day[0] == 'january' && day[1] >= 20):
    case (day[0] == 'febuary' && day[1] <= 18):
      sign = "aquarius";
      break;
    case (day[0] == 'febuary' && day[1] >= 19):
    case (day[0] == 'march' && day[1] <= 20):
      sign = "pisces";
      break;
    
    //added a default option to allow an alert to be initiated if input value is empty;incorrect or lacking information
    default:
      sign = alert('Please check your date of birth! Follow the example Given');
  }
  //passes sign into an UpperCase Format
  var sign = sign.toUpperCase();
  //returns the value into the zodiac ID
  document.getElementById("zodiac").innerHTML = "Your sign is" + " " + sign;
}
</script>
</body>
</html>
 
Last edited:
salamat po sa tulong since malapit na pasahan namin tas hindi naman naituro samin to kaya nahihirapan talaga ako thank you po
 
Status
Not open for further replies.

Similar threads

Back
Top