Javascript Ajax没有';因为缺乏投入,所以不能工作

Javascript Ajax没有';因为缺乏投入,所以不能工作,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在我的站点上实现了一个AJAX脚本,它控制一些输入,但有一种情况是,我的输入仅在使用范围滑块后显示。如果我不使用范围滑块,只使用其他输入,我的脚本将不会运行。我的AJAX如下所示: <script language="javascript" type="text/javascript"> <!-- //Browser Support Code function ajaxFunction(){ var ajaxRequest; // The variable that m

我在我的站点上实现了一个AJAX脚本,它控制一些输入,但有一种情况是,我的输入仅在使用范围滑块后显示。如果我不使用范围滑块,只使用其他输入,我的脚本将不会运行。我的AJAX如下所示:

<script language="javascript" type="text/javascript">
<!-- 
//Browser Support Code
function ajaxFunction(){
 var ajaxRequest;  // The variable that makes Ajax possible!

 try{
   // Opera 8.0+, Firefox, Safari
   ajaxRequest = new XMLHttpRequest();
 }catch (e){
   // Internet Explorer Browsers
   try{
      ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
   }catch (e) {
      try{
         ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
      }catch (e){
         // Something went wrong
         alert("Your browser broke!");
         return false;
      }
   }
 }
 // Create a function that will receive data 
 // sent from the server and will update
 // div section in the same page.
 ajaxRequest.onreadystatechange = function(){
   if(ajaxRequest.readyState == 4){
      var ajaxDisplay = document.getElementById('ajaxDiv');
      ajaxDisplay.innerHTML = ajaxRequest.responseText;
   }
 }
 // Now get the value from user and pass it to
 // server script.

 var bedno   = document.getElementById('bedno').value;
 var district   = document.getElementById('district').value;
 var loc        = document.getElementById('location').value;
 var price1   = document.getElementById('price1').value;
 var price2   = document.getElementById('price2').value;

 var queryString = "?bedno=" + bedno ;
 queryString +=  "&district=" + district + "&price1=" + price1 + "&price2=" + price2 + "&location=" + loc;
 ajaxRequest.open("GET", "ajax-example.php" + 
                              queryString, true);
 ajaxRequest.send(null); 
}
//-->
</script>

var price1和price2是范围滑块未使用时未定义的两个变量。我想这就是我的脚本无法运行的原因。什么会导致问题

我的滑块仅在使用滑块时生成,因此在访问者单击滑块之前,该值将丢失,但我希望在不使用滑块脚本的情况下显示该值:

$('.priceSlider').slider({
    range: true,
    min: 0,
    max: 2000,
    values: [500, 1500],
    step: 100,
    slide: function(event, ui) {
        $('.priceSlider .sliderTooltip .stLabel').html(
            '€' + ui.values[0].toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$2,") + 
            ' <span class="fa fa-arrows-h"></span> ' +
            '€' + ui.values[1].toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") +
            ' <input type="hidden" id="price1" style="position: absolute;" onchange="ajaxFunction()"  value="'+  ui.values[0].toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "2") +'" />' +
            ' <input type="hidden" id="price2" style="position: absolute;" onchange="ajaxFunction()" value="'+  ui.values[1].toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "1") +'" />'

        );
        var priceSliderRangeLeft = parseInt($('.priceSlider .ui-slider-range').css('left'));
        var priceSliderRangeWidth = $('.priceSlider .ui-slider-range').width();
        var priceSliderLeft = priceSliderRangeLeft + ( priceSliderRangeWidth / 2 ) - ( $('.priceSlider .sliderTooltip').width() / 2 );
        $('.priceSlider .sliderTooltip').css('left', priceSliderLeft);
    }
});
$('.priceSlider').slider({
范围:对,
分:0,,
最高:2000,
值:[5001500],
步骤:100,
幻灯片:功能(事件、用户界面){
$('.pricesslider.sliderTooltip.stLabel').html(
“€”+ui.values[0].toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g,“$2.”
'  ' +
“€”+ui.values[1].toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g,“$1”)+
' ' +
' '
);
var priceslideerrangeleft=parseInt($('.priceSlider.ui滑块范围').css('left'));
var pricesliderernagewidth=$('.priceSlider.ui滑块范围').width();
var priceSliderLeft=priceslideerrageleft+(priceslideerragewidth/2)-($('.priceSlider.sliderTooltip').width()/2);
$('.priceSlider.sliderTooltip').css('left',priceSliderLeft);
}
});

任何可能的解决方案都是值得赞赏的。

好吧,你可以这样做,价格1和价格2

if(document.getElementById('price2')) {
  var price2   = document.getElementById('price2').value;
}
else {
  var price2 = 0;
}

但是,既然我看到您使用jQuery,就应该使用jQuery的Ajax方式。

很抱歉,我错过了:uncaughttypeerror:无法读取nullbedno、district的属性“value”。。。确保您拥有所有这些元素。错误消息显示其中一个丢失。并确保它们是输入元素,因此它们具有“value”属性