0

我正在使用以下代码来显示 html 模式弹出窗口。它显示得非常好。唯一的问题是我的 div 中的一个字段是日期时间字段,我正在使用 jquery datetimepicker 模块。但是,当我单击日历图像时,日历下拉菜单显示在主 HTML 页面中,而不是在弹出的 html 页面上。任何人都可以查看我的代码并就我在这里做错了什么给我建议。

  <div id="shade" ></div>
  <div id="modal">
      <label> Summary:   </label>
      <input type="text" name="summary" id="summary" style="width: 500px;"/>  <br>
      </select><br>
      <label> priority:  </label>
      <select id="change_type" name="change_type" style="width: 150px;">
          <option value ="Minor"> Minor</option>
          <option value ="Medium"> Medium</option>
          <option value ="Major"> Major</option>
      </select> <br>
      <label> Due Date:   </label>
      <input type="text" name="duedate" id="duedate" value="{{ request.args['duedate'] }}" align ="center" ondblclick="value=''"/>
      <img src="{{ url_for('static', filename='cal.gif')}}" style="cursor: pointer; display: inline-block;" onclick="javascript:NewCssCal('duedate','yyyymmdd','dropdown',true,'24')"/><br>

      <button id="id" style="position: absolute;left:600px;">Please verify</button>
      <button id="Cancel" onclick="" style="position: absolute;left:700px;">Cancel</button>
  </div>

我的ajax调用是

  $('#cm').blur(function(){
    var cmnumber = document.forms['myform']['cm'].value;
    var modal = document.getElementById('modal');
    var shade = document.getElementById('shade');

    $.ajax({
    type:'get',
    url: "/validatecm/"+cmnumber,
    cache:false,
    async:false,
    data:cmnumber,
    success: function(data) {

            if ( data == cmnumber)
            {  alert ("Its a valid CM")}
            else
            { var answer = confirm("This is Not a Valid CM. Do you want to File a new one?")
                if(answer)
                {
                    modal.style.display=shade.style.display= 'block';
                }
            }

  })
4

1 回答 1

0

您不能=在 JavaScript 中像这样堆叠赋值 ( ):

 modal.style.display=shade.style.display= 'block';

你已经在使用 jQuery,所以使用:

$('#modal, #shade').show()
于 2013-03-04T16:21:57.167 回答