残って空の値がためにあなたのコードのチェックのようなものではありません時に最初の2つのフィールドがテキスト入力されているため、問題は、フィールドを空のままにされたときに警告がのみ表示されていることである:
if ((stop == false) && (document.getElementById('q1a').value == ''))
しかし、あなたの選択ボックスはデフォルト値が変更されていません。JavaScriptがトリガーしない最初のオプションの値です。
は、すべてのあなたの選択のフォームの最初のオプションとして、このようなものを置く:
<option value="" selected="selected">Please select an option</option>
これはデフォルト値が何もないことを保証します。そのオプションを使用している人(既にあなたのような人)を止めるようにしてください。
私のコメントに加えて、これは、現在、2つのチェックボックスが満たされているときにアラートが受信されない理由です。
は、全体のスクリプトです....
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;
}
は発生しません...のように...
は、あなたは何の値が空でない場合でも発動すべきだと思う特定のアラートを投稿することができますか?
アラートを表示するjavascriptを投稿できますか? –
@Georgeこれは 'distrokiezer.htm'ファイルのソースにあります。しかし、ここには別にJavascriptがあります:http://pastebin.com/ikLPpBRE – RobinJ