Javascript空输入错误

Javascript空输入错误,javascript,html,validation,Javascript,Html,Validation,我有这个输入字段 html +='<p style="font-size: 18px; ">Total Bids: <input type="text" class="total_bids" name="total_bids" placeholder="No. of Bids" required></p>'; 如果用户输入一个数字,它工作正常,但如果用户没有输入任何内容并按下激活按钮,则会出现此错误 TypeError:无法读取null的属性“style

我有这个输入字段

  html +='<p style="font-size: 18px; ">Total Bids: <input type="text" class="total_bids" name="total_bids" placeholder="No. of Bids" required></p>';
如果用户输入一个数字,它工作正常,但如果用户没有输入任何内容并按下激活按钮,则会出现此错误


TypeError:无法读取null的属性“style”

我想限制用户输入一些东西,我已经在输入字段中申请了required,但这不起作用,(我不知道为什么)我可以限制用户输入一些东西的任何其他检查

编辑:

我在php中得到这个值,我也在那里应用了一个检查

 $total_bids = PSF::requestGetPOST('totalbids');

if(!$total_bids)
        {
            return json_encode(array('error' => 'enter a number'));
        }
但它直到这里才到达,因为它以空值错误停止

该按钮将指向此功能

bid_o_matic:function(id, uid, e, evt){

            var totalbids = document.getElementsByName('total_bids')[0].value;
            var bidval = document.getElementsByName('bidvalue')[0].value;


            parent_element = $(e).parent().parent();


            if(typeof(evt) != 'undefined'){
                evt.preventDefault();
                evt.stopPropagation();
            }
            if(e.attr('disabled') == 'disabled'){
                return;
            }
            e.button('loading');
            $.post('index.php', {
                page:'__request',
                module:'PSF_auctions',
                action:'make_bid_o_matic',
                id:id,
                uid:uid,
                totalbids: totalbids,
                bidval: bidval
            }, function(d){
                e.button('reset');
                document.getElementById("btn-bidoo").style.visibility = 'hidden';
                document.getElementById("btn-deactivate").style.visibility = 'visible';
                document.getElementById("totalbids").style.visibility = 'hidden';
                document.getElementById("bidvalue").style.visibility = 'hidden';

                if(d.error){
                //        document.getElementById("totalbids").style.visibility = 'visible';
                // document.getElementById("bidvalue").style.visibility = 'visible';
                     $.auctions.alert(d.error);
                    document.getElementById("btn-bidoo").style.visibility = 'visible';
                    document.getElementById("btn-deactivate").style.visibility = 'hidden';

                }
                else
                {
              $(current_price_element).html('<p style="color:#f47321; font-size:16px; font-weight:bold;">Current Price</p><a href="#">'+d.bid_value+'</a>')

                }

            }, 'json');
        },

因为你做得不对。实际上,您使用超链接将表单发布到服务器端

html += '<a style="cursor:pointer;" onclick="'+onclick_url_bid_o_matic+'" class="btn-bidoo" id="btn-bidoo">Activate</a>';
html+=“激活”;
这是提交表格的错误方式。将其替换为实际的输入提交按钮。然后它将验证您的文本字段

    html += '<input type="submit" class="btn-bidoo" id="btn-bidoo" value="Activate" />';
html+='';
并在表单标签上设置onclick\u url\u bid\u o\u maticurl

html += '<form action="' + onclick_url_bid_o_matic + '" method="post">'
html+=''
或者,如果您仍然希望使用超链接标记,则在Javascript/Jquery的帮助下提交表单


这就是为什么在请求的URL中会出现NULL,因为
total\u bids
是输入的
类,而不是
id
。您没有任何名为
totalbids
id
。当你试图找到一个id为
id
的对象,比如
totalbids
时,你没有找到任何东西。要解决它,请像这样更改您的输入

或使用


document.getElementsByName('total_bids')[0]。style.visibility='hidden'

您不能在提供的代码中的任何地方读/写
style
属性。我认为错误在另一个地方。因为在你的代码中,你没有访问
Style
attribute我没有,我只是得到用户通过GetElementsByName输入的值你可以发布函数的代码吗
onclick\u url\u bid\u o\u matic
@wonderbell刚刚调用了函数中的代码。你的答案没有意识到他提出的问题,而是在Javascript的帮助下生成HTML代码。然后尝试通过单击超链接标记发布表单。这是无效的。这就是HTML5验证不起作用的原因。@ShailendraSharma我认为这是正确的答案。OP正试图通过错误行中的'id'访问元素。请参见已编辑的问题<代码>document.getElementById(“totalbids”).style.visibility='hidden'其他地方,按名称访问。在投反对票之前请稍等片刻@法赞,请试试这个答案。是的,我的错。我没有提供id。@wonderbell document.getElementById(“totalbids”).style.visibility='hidden';在成功块中编写,如问题“如果用户输入一个数字,它工作正常”中所述,您能解释一下吗?@ShailendraSharma是的,它工作正常,它会根据需要将数字发送到php代码,此文档。getElementById(“totalbids”).style.visibility=‘hidden’;是为了隐藏这个输入字段,与工作无关,顺便说一句,它没有隐藏这个输入字段,在我的情况下,问题是我没有提到Id。“TypeError:无法读取属性'style'的null”应该存在于作品中,很好的情况下,使很多场景
html += '<a style="cursor:pointer;" onclick="'+onclick_url_bid_o_matic+'" class="btn-bidoo" id="btn-bidoo">Activate</a>';
    html += '<input type="submit" class="btn-bidoo" id="btn-bidoo" value="Activate" />';
html += '<form action="' + onclick_url_bid_o_matic + '" method="post">'