繁体   English   中英

提交按钮仅在前两个字段为空时有效

[英]Submit button only works when first 2 fields are empty

http://windowsnaarlinux.nl/#distrokiezer-用PHP版本临时替换页面,这是javascript版本: http : //windowsnaarlinux.nl/pages/distrokiezer.html


只要将前两个字段之一保留为空,然后单击“提交”按钮(标题为Bevestigen ),就会收到警告,脚本将按预期方式结束。 但是,当您填写前两个字段,然后单击“提交”时,什么也不会发生。 不会弹出任何警报,而应该弹出。 Chrome的JavaScript控制台中没有出现任何类型的错误或警告。

原始页面(使用jQuery的其中之一将内容加载到div.window#content )位于以下位置: http : //windowsnaarlinux.nl/pages/distrokiezer.html
可能值得一提的是,它以前运行良好,老实说,我自己也不知道我为破坏它所做的事情。


...我只是注意到当我重写脚本>。<时,我忘记了它将结果输出给用户的部分。

问题在于,警告仅在字段为空时出现,因为前两个字段为文本输入,而在字段为空时,值与您的代码所检查的一样:

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

但是,如果未修改选择框,则其默认值是第一个选项的值,导致javascript不触发。

在所有选择的表单中,将以下内容作为第一个选项:

<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;
            }

输入内容...等时不会触发

您可以发布您认为即使没有值都为空也会触发的特定警报吗?

快速浏览一下代码,我可以看到一个带有onclick处理程序的提交按钮,该按钮似乎正在运行。

但是,在字段和“提交”按钮周围没有FORM标记,因此浏览器不知道要提交什么以及提交到哪里。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM