2013-03-25 39 views
0

嗨它采取3点击执行任何命令与我的JavaScript确认提示。我所有的代码嵌套在一个句柄请求ajax函数中。这是我的代码,我不知道为什么它这样做?用确认JavaScript窗口点击3次?

closeButton.onclick = function() { 
    node.setData('alpha', 0, 'end'); 
    node.eachAdjacency(function(adj) { 
     adj.setData('alpha', 0, 'end'); 
     var requestone = createRequest(); 
     var deletenode = node.id; 
     var vars = "deletenode=" + encodeURIComponent(deletenode); 
      requestone.open("POST", "deletenode.php", true); 
      requestone.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
     if (confirm('Are you sure you want to delete this species from the Database?')) { 
      requestone.onreadystatechange = function() 
      { 
      handleRequest(requestone); 
      }; 
      requestone.send(vars); 
      fd.fx.animate({ 
     modes: ['node-property:alpha', 
       'edge-property:alpha'], 
     duration: 500 
     }); 
} else 
{ 
    // Do nothing! 
} 

    }); 

回答

0

这并不意味着它需要3次点击。您必须等待操作完成。那么只有你会得到回应。这意味着readyState变为4.

readyState是HTTPRequest的属性之一。它指示对象的当前状态。

有5个州。
0 - 未初始化(UNSENT)
1 - 加载(打开)
2 - 加载(HEADERS_RECEIVED)
3 - 交互(LOADING)
4 - 完成(DONE)

+0

我怎样才能得到它只是做1点击? – user1902588 2013-03-25 05:12:42