2011-11-08 2 views
1

http://windowsnaarlinux.nl/#distrokiezer 빈 때 작동 일시적으로 PHP 버전 페이지를 교체, 여기에 자바 스크립트 버전 : 당신은 처음 두 필드 중 하나를 떠날 때마다 http://windowsnaarlinux.nl/pages/distrokiezer.html
버튼은 처음 2 개 필드


비어 제출 버튼 (자막이있는 Bevestigen)을 클릭하면 경고 메시지가 표시되고 스크립트가 종료됩니다. 그러나 처음 두 필드를 채우고 제출을 클릭하면 아무 일도 일어나지 않습니다. 경고를 팝업하지 않습니다. Chrome의 자바 스크립트 콘솔에 어떤 종류의 오류 또는 경고도 표시되지 않습니다. http://windowsnaarlinux.nl/pages/distrokiezer.html
가 전에 잘 작동 언급 할 가치가있을 수도 있습니다, 그리고 솔직히 단서 나 자신 내가 한 일을하지 않아도 :

원본 페이지 (jQuery를이 div.window#content에 내용을로드 느릅 나무의 하나) 여기 있습니다 그것을 깨기.


... 나는 스크립트를 다시 작성할 때 사용자에게 결과를 출력하는 부분을 잊어 버렸습니다. <

+0

경고를 표시하는 자바 스크립트를 게시 할 수 있습니까? –

+0

@ George 그것은'distrokiezer.htm' 파일의 소스에 있습니다. 그러나 여기에 자바 스크립트가 별도로 있습니다. http://pastebin.com/ikLPpBRE – RobinJ

답변

1

문제 필드가 비어 경우가 비어 때 처음 두 필드는 텍스트 입력하기 때문에 경고 만 나타날 것입니다 값에 대한 코드 검사와 같은 아무것도 :

if ((stop == false) && (document.getElementById('q1a').value == '')) 

그러나 때 선택 상자가 수정되지 않은 경우 기본값이 자바 스크립트가 트리거되지 않게하는 첫 번째 옵션의 값입니다. 당신의 선택 형태의 첫 번째 옵션으로이 같은

넣어 뭔가 :

<option value="" selected="selected">Please select an option</option> 

이 기본 값이 아무것도 없다는 것을 보장합니다. 그 옵션을 사용하는 사람들 (이미있는 것처럼)을 막을 가능성이 큽니다.

내 의견에 더하여, 현재 두 개의 확인란이 채워지는 동안 알림이 수신되지 않는 이유가 여기에 있습니다.

var distros = new Array('ubuntu', 'ubuntu-lts', 'mint', 'mintdebian', 'mintlxde', 'mintdebianxfce', 'elementary', 'debian-stable', 'debian-unstable', 'debian-testing', 'fedora', 'fedorakde', 'fedoralxde', 'fedoraxfce', 'centos', 'archlinux', 'puppylinux', 'lucidpuppy', 'crunchbang', 'dsl', 'tinycore', 'pinguyos', /*'gentoo',*/ 'mandriva', 'mageia', 'lubuntu', 'xubuntu', 'kubuntu', 'chakra', 'slackware', 'zorin', 'bodhi', 'vector', 'antix', 'opensuse'); 

    function zoekDistro() 
    { 
     try 
     { 
      var stop = false; 

      //q1a 
      var q1a = parseInt(document.getElementById('q1a').value); 
      if ((stop == false) && (document.getElementById('q1a').value == '')) 
      { 
       alert('Geen antwoord opgegeven bij vraag 1a!'); 
       stop = true; 
      } 
      if (stop == false) 
      { 
       if (q1a < 1600) 
       { 
        dumpDistro('pinguyos'); 
        dumpDistro('mintkde'); 
        dumpDistro('kubuntu'); 
       } 
       if (q1a < 1400) 
       { 
        dumpDistro('mint'); 
        dumpDistro('fedorakde'); 
        dumpDistro('fedora'); 
        dumpDistro('pinguyos'); 
        dumpDistro('chakra'); 
        dumpDistro('ubuntu'); 
        dumpDistro('mandriva'); 
        dumpDistro('opensuse'); 
       } 
       if (q1a < 1200) 
       { 
        dumpDistro('ubuntu-lts'); 
       } 
       if (q1a < 1000) 
       { 
        dumpDistro('mintdebian'); 
        dumpDistro('debian-stable'); 
        dumpDistro('debian-testing'); 
        dumpDistro('debian-unstable'); 
        dumpDistro('mageia'); 
        dumpDistro('xubuntu'); 
        dumpDistro('crunchbang'); 
       } 
       if (q1a < 800) 
       { 
        dumpDistro('mintlxde'); 
        dumpDistro('mintdebianxfce'); 
        dumpDistro('elementary'); 
        dumpDistro('fedoralxde'); 
        dumpDistro('fedoraxfce'); 
        dumpDistro('centos'); 
        dumpDistro('archbang'); 
        dumpDistro('zorin'); 
       } 
       if (q1a < 600) 
       { 
        dumpDistro('lubuntu'); 
        dumpDistro('slackware'); 
        dumpDistro('archlinux'); 
       } 
       if (q1a < 400) 
       { 
        dumpDistro('vector'); 
        dumpDistro('gentoo'); 
       } 
       if (q1a < 300) 
       { 
        dumpDistro('antix'); 
        dumpDistro('lucidpuppy'); 
        dumpDistro('bodhi'); 
       } 
       if (q1a < 200) 
       { 
        dumpDistro('puppylinux'); 
        dumpDistro('dsl'); 
       } 
       if (q1a < 100) 
       { 
        dumpDistro('tinycore'); 
       } 
      } 
      //q2a 
      var q1b = parseInt(document.getElementById('q1b').value); 
      if ((stop == false) && (document.getElementById('q1b').value == '')) 
      { 
       alert('Geen antwoord opgegeven bij vraag 1b!'); 
       stop = true; 
      } 
      if (stop == false) 
      { 
       if (q1b < 2000) 
       { 
        dumpDistro('pinguyos'); 
       } 
       if (q1b < 1600) 
       { 
        dumpDistro('kubuntu'); 
        dumpDistro('ubuntu'); 
       } 
       if (q1b < 1400) 
       { 
        dumpDistro('fedora'); 
        dumpDistro('fedorakde'); 
       } 
       if (q1b < 1000) 
       { 
        dumpDistro('ubuntu-lts'); 
        dumpDistro('mint'); 
        dumpDistro('debian-unstable'); 
        dumpDistro('mandriva'); 
        dumpDistro('mageia'); 
        dumpDistro('xubuntu'); 
        dumpDistro('chakra'); 
        dumpDistro('opensuse'); 
       } 
       if (q1b < 800) 
       { 
        dumpDistro('mintlxde'); 
        dumpDistro('lubuntu'); 
       } 
       if (q1b < 700) 
       { 
        dumpDistro('elementary'); 
       } 
       if (q1b < 512) 
       { 
        dumpDistro('mintdebian'); 
        dumpDistro('debian-testing'); 
        dumpDistro('fedoralxde'); 
        dumpDistro('fedoraxfce'); 
        dumpDistro('crunchbang'); 
       } 
       if (q1b < 400) 
       { 
        dumpDistro('mintdebianxfce'); 
        dumpDistro('debian-stable'); 
        dumpDistro('archbang'); 
        dumpDistro('archlinux'); 
        dumpDistro('centos'); 
        dumpDistro('zorin'); 
        dumpDistro('vector'); 
       } 
       if (q1b < 256) 
       { 
        dumpDistro('gentoo'); 
        dumpDistro('slackware'); 
       } 
       if (q1b < 128) 
       { 
        dumpDistro('bodhi'); 
        dumpDistro('puppylinux'); 
       } 
       if (q1b < 64) 
       { 
        dumpDistro('lucidpuppy'); 
        dumpDistro('antix'); 
       } 
       if (q1b < 48) 
       { 
        dumpDistro('tinycore'); 
       } 
      } 
      //q2a 
      var q2a = document.getElementById('q2a').value; 
      if ((stop == false) && (q2a == '')) 
      { 
       alert('Geen antwoord opgegeven bij vraag 2a!'); 
       stop = true; 
      } 
      if (stop == false) 
      { 
       if (q2a === 'nee') 
       { 
        dumpDistro('debian-stable'); 
        dumpDistro('debian-testing'); 
        dumpDistro('debian-unstable'); 
        dumpDistro('centos'); 
        dumpDistro('archlinux'); 
        dumpDistro('puppylinux'); 
        dumpDistro('dsl'); 
        dumpDistro('tinycore'); 
        dumpDistro('gentoo'); 
        dumpDistro('chakra'); 
        dumpDistro('slackware'); 
        dumpDistro('vector'); 
        dumpDistro('mandriva'); 
        dumpDistro('archbang'); 
        dumpDistro('antix'); 
       } 
      } 
      //q2b 
      var q2b = document.getElementById('q2b').value; 
      if ((stop == false) && (q2b == '')) 
      { 
       alert('Geen antwoord opgegeven bij vraag 2b!'); 
       stop = true; 
      } 
      if (stop == false) 
      { 
       if (q2b === 'ja') 
       { 
        dumpDistro('debian-unstable'); 
        dumpDistro('centos'); 
        dumpDistro('archlinux'); 
        dumpDistro('archbang'); 
        dumpDistro('puppylinux'); 
        dumpDistro('dsl'); 
        dumpDistro('tinycore'); 
        dumpDistro('gentoo'); 
        dumpDistro('vector'); 
       } 
      } 
      //q2c 
      var q2c = parseInt(document.getElementById('q2c').value); 
      if ((stop == false) && (document.getElementById('q2c').value == '')) 
      { 
       alert('Geen antwoord opgegeven bij vraag 2c!'); 
       stop = true; 
      } 
      if (stop == false) 
      { 
       if (q2c < 8) 
       { 
        dumpDistro('gentoo'); 
        dumpDistro('archlinux'); 
       } 
       if (q2c < 7) 
       { 
        dumpDistro('tinycore'); 
       } 
       if (q2c < 6) 
       { 
        dumpDistro('debian-unstable'); 
        dumpDistro('centos'); 
        dumpDistro('archbang'); 
        dumpDistro('puppylinux'); 
        dumpDistro('dsl'); 
        dumpDistro('chakra'); 
        dumpDistro('slackware'); 
        dumpDistro('vector'); 
        dumpDistro('antix'); 
        dumpDistro('mandriva'); 
       } 
       if (q2c < 5) 
       { 
        dumpDistro('debian-testing'); 
       } 
       if (q2c < 4) 
       { 
        dumpDistro('crunchbang'); 
       } 
       if (q2c < 3) 
       { 
        dumpDistro('mintdebian'); 
        dumpDistro('mintdebianxfce'); 
        dumpDistro('debian-stable'); 
        dumpDistro('fedora'); 
        dumpDistro('fedorakde'); 
        dumpDistro('fedoralxde'); 
        dumpDistro('fedoraxfce'); 
        dumpDistro('mandriva'); 
       } 
      } 
      //q3a 
      var q3a = parseInt(document.getElementById('q3a').value); 
      if ((stop == false) && (document.getElementById('q3a').value == '')) 
      { 
       alert('Geen antwoord opgegeven bij vraag 3a!'); 
       stop = true; 
      } 
      if (stop == false) 
      { 
       if (q3a == 4) 
       { 
        dumpDistro('ubuntu'); 
        dumpDistro('ubuntu-lts'); 
        dumpDistro('elementary'); 
        dumpDistro('fedorakde'); 
        dumpDistro('opensuse'); 
        dumpDistro('mageia'); 
        dumpDistro('mint'); 
        dumpDistro('mintlxde'); 
        dumpDistro('lubuntu'); 
        dumpDistro('kubuntu'); 
        dumpDistro('xubuntu'); 
       } 
       if (q3a == 3) 
       { 
        dumpDistro('elementary'); 
       } 
       else if (q3a == 1) 
       { 
        dumpDistro('debian-unstable'); 
        dumpDistro('debian-testing'); 
        dumpDistro('fedoralxde'); 
        dumpDistro('fedoraxfce'); 
        dumpDistro('centos'); 
        dumpDistro('archlinux'); 
        dumpDistro('puppylinux'); 
        dumpDistro('dsl'); 
        dumpDistro('gentoo'); 
        dumpDistro('mandriva'); 
        dumpDistro('vector'); 
        dumpDistro('antix');     
       } 
      } 
      //q3b 
      var q3b = document.getElementById('q3b').value; 
      if ((stop == false) && (q3b == '')) 
      { 
       alert('Geen antwoord opgegeven bij vraag 3b!'); 
       stop = true; 
      } 
      if (stop == false) 
      { 
       if (q3b == 'ja') 
       { 
        dumpDistro('ubuntu'); 
        dumpDistro('ubuntu-lts'); 
        dumpDistro('debian-testing'); 
        dumpDistro('debian-unstable'); 
        dumpDistro('debian-stable'); 
        dumpDistro('elementary'); 
        dumpDistro('fedora'); 
        dumpDistro('fedoralxde'); 
        dumpDistro('fedoraxfce'); 
        dumpDistro('centos'); 
        dumpDistro('archlinux'); 
        dumpDistro('crunchbang'); 
        dumpDistro('archbang'); 
        dumpDistro('pinguyos'); 
        dumpDistro('gentoo'); 
        dumpDistro('mandriva'); 
        dumpDistro('xubuntu'); 
       } 
       if (q3b == 'neevoorwaarde') 
       { 
        dumpDistro('debian-testing'); 
        dumpDistro('debian-unstable'); 
        dumpDistro('debian-stable'); 
        dumpDistro('fedora'); 
        dumpDistro('centos'); 
        dumpDistro('archlinux'); 
        dumpDistro('pinguyos'); 
        dumpDistro('gentoo'); 
        dumpDistro('mandriva'); 
        dumpDistro('xubuntu'); 
       } 
       if (q3b == 'neemacos') 
       { 
        dumpDistro('debian-testing'); 
        dumpDistro('debian-unstable'); 
        dumpDistro('debian-stable'); 
        dumpDistro('fedora'); 
        dumpDistro('fedoralxde'); 
        dumpDistro('fedoraxfce'); 
        dumpDistro('centos'); 
        dumpDistro('archlinux'); 
        dumpDistro('crunchbang'); 
        dumpDistro('archbang'); 
        dumpDistro('gentoo'); 
        dumpDistro('mandriva'); 
        dumpDistro('mageia'); 
        dumpDistro('xubuntu'); 
        dumpDistro('mint'); 
        dumpDistro('mintdebian'); 
        dumpDistro('mintlxde'); 
        dumpDistro('mintdebianxfce'); 
        dumpDistro('fedorakde'); 
        dumpDistro('puppylinux'); 
        dumpDistro('lucidpuppy'); 
        dumpDistro('dsl'); 
        dumpDistro('lubuntu'); 
        dumpDistro('kubuntu'); 
        dumpDistro('chakra'); 
        dumpDistro('slackware'); 
        dumpDistro('zorin'); 
        dumpDistro('vector'); 
        dumpDistro('antix'); 
        dumpDistro('opensuse'); 
       } 
      } 
      //q3c 
      var q3c = document.getElementById('q3c').value; 
      if ((stop == false) && (q3c == '')) 
      { 
       alert('Geen antwoord opgegeven bij vraag 3c!'); 
       stop = true; 
      } 
      if (stop == false) 
      { 
       if (q3c == 'ja') 
       { 
        dumpDistro('debian-stable'); 
        dumpDistro('debian-testing'); 
        dumpDistro('debian-unstable'); 
        dumpDistro('centos'); 
        dumpDistro('gentoo'); 
       } 
      } 
      //q3d 
      var q3d = document.getElementById('q3d').value; 
      if ((stop == false) && (q3d == '')) 
      { 
       alert('Geen antwoord opgegeven bij vraag 3d!'); 
       stop = true; 
      } 
      if (stop == false) 
      { 
       if (q3d == 'stabiel') 
       { 
        dumpDistro('ubuntu'); 
        dumpDistro('mintdebian'); 
        dumpDistro('mintdebianxfce'); 
        dumpDistro('debian-unstable'); 
        dumpDistro('debian-testing'); 
        dumpDistro('fedora'); 
        dumpDistro('puppylinux'); 
        dumpDistro('dsl'); 
        dumpDistro('pinguyos'); 
        dumpDistro('mandriva'); 
        dumpDistro('kubuntu'); 
        dumpDistro('chakra'); 
        dumpDistro('slackware'); 
        dumpDistro('opensuse'); 
       } 
       else if (q3d == 'test') 
       { 
        dumpDistro('debian-stable'); 
        dumpDistro('debian-unstable'); 
       } 
       else if (q3d == 'experimenteel') 
       { 
        dumpDistro('debian-stable'); 
       } 
      } 
      if (distros.length > 6) 
      { 
       if ((q1a > 1000) && (q1b > 1000)) 
       { 
        dumpDistro('mintlxde'); 
        dumpDistro('mintdebianxfce'); 
        if (distros.length > 3) { dumpDistro('fedoralxde'); } 
        if (distros.length > 3) { dumpDistro('fedoraxfce'); } 
        if (distros.length > 3) { dumpDistro('mintdebianxfce'); } 
        if (distros.length > 3) { dumpDistro('lucidpuppy'); } 
        if (distros.length > 3) { dumpDistro('crunchbang'); } 
        if (distros.length > 3) { dumpDistro('dsl'); } 
        if (distros.length > 3) { dumpDistro('tinycore'); } 
        if (distros.length > 3) { dumpDistro('bodhi'); } 
        if (distros.length > 3) { dumpDistro('antix'); } 
        if (distros.length > 4) 
        { 
         if (q3b != 'ja') 
         { 
          dumpDistro('zorin'); 
         } 
        } 
       } 
      } 
     } 
     catch (error) 
     { 
      alert(error); 
     } 
    } 
    function dumpDistro(distro) 
    { 
     for (var i = 0; i < distros.length; i++) 
     { 
      if (distros[i] == distro) 
      { 
       distros.splice(i,1); 
      } 
     } 
    } 
</script> 

var stop = false;

은 그래서 그 기억하자 .... 전체 스크립트입니다.

if ((stop == false) && (document.getElementById('q1a').value == '')) 
      { 
       alert('Geen antwoord opgegeven bij vraag 1a!'); 
       stop = true; 
      } 

입력 내용이있을 때 실행되지 않습니다.

if ((stop == false) && (document.getElementById('q1b').value == '')) 
      { 
       alert('Geen antwoord opgegeven bij vraag 1b!'); 
       stop = true; 
      } 

입력 내용이있을 때 실행되지 않습니다.

if ((stop == false) && (q2a == '')) 
      { 
       alert('Geen antwoord opgegeven bij vraag 2a!'); 
       stop = true; 
      } 

입력 내용이있는 경우 실행되지 않습니다.

if ((stop == false) && (q2b == '')) 
      { 
       alert('Geen antwoord opgegeven bij vraag 2b!'); 
       stop = true; 
      } 

입력 등 내용이 ... 때 발생하지 않습니다 ...

당신은 더 값이 비어없는 경우도 발생한다고 생각 특정 경고를 게시 할 수 있습니까?

+0

팁 주셔서 감사 합니다만, 문제가 아닙니다 : p 문제는 zoekDistro() 함수의 끝 부분에 경고가 표시되지 않는다는 것입니다. – RobinJ

+0

@RobinJ 코드에 아무런 문제가 없기 때문에 오류가 발생하지 않고 호출이 이루어지고 try try catch가 처리되도록 내장 오류가 트리거되지 않습니다. 'if'를 실패해도 에러가 발생하지 않습니다. 내 코드는 지금 if 함수에서 경고로 나타나지 않는 문제를 확실히 해결합니다. –

+0

나는 틀린 질문을 이해하거나 틀린 대답을 이해한다 ... 어쨌든, 나는 네가 나에게 말한대로 행동했다. 모든 것이 채워지고 제출 버튼을 클릭하면 아무 일도 일어나지 않습니다. 그건 그렇고, 나는 기본적으로 첫 번째 대답을 선택하기를 원했다. 그들이 자바 스크립트 코드에서 비어 있었는지 확인은 모든 사람들이 저의 마음을 바꿨을 때를 대비해서 완료되었습니다. – RobinJ

0

코드에서 빠른 모양을 볼 수있는 onclick 핸들러가있는 제출 버튼을 볼 수 있습니다.

그러나 필드와 제출 버튼을 둘러싼 FORM 태그가 없으므로 브라우저는 제출할 항목과 어디를 알 수 없습니다.

+0

제가 생각하기에, 이것은 버튼의 onClick 이벤트를 사용하고 있기 때문에 아무런 차이가 없습니다. – RobinJ