xmlhttprequest 후 niceedit (editbox) 또는 jQuery (텍스트 상자의 날짜를위한 datePicker)를 호출하는 방법?
-
16-09-2019 - |
문제
xmlhttprequest를 사용할 때 jquery datepick 또는 nicedit을 호출 할 수없는 것 같지 않으므로 도움이 필요합니다.
내 코드는 4 개의 PHP 파일과 함께 제공됩니다.
<p>Main page: main.php<br />
++++++++++++++++++<br />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><br />
<html xmlns="http://www.w3.org/1999/xhtml"><br />
<head><br />
<meta http-equiv="content-type" content="text/html; charset=utf-8" /><br />
<title>Education Centre</title><br />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" /><br />
<script type="text/javascript" src="script.js"></script><br />
<script type="text/javascript" src="mainjs.js"></script><br />
<script src="http://js.nicedit.com/nicEdit-latest.js" type='text/javascript'></script><br />
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script></p>
<p></head><br />
<body onLoad="init_table();"><br />
<div id="page"><br />
<form name='form1'><br />
<p>&nbsp;</p><br />
<div id="content"><br />
<div id="showTable"> </div><br />
</div><br />
</form><br />
</div><br />
<!-- end page --><br />
</body><br />
</html><br />
</p>
<br />
<p>mainjs.js<br />
+++++++++<br />
function init_table() {<br />
requestInfo('showMain.php?mode=list&prev_cid=1','showTable','');<br />
}</p>
<p> </p>
<p>script.js [copied and tested to be ok with other pages]<br />
+++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />
function getHTTPObject() {<br />
var xmlhttp;<br />
<br />
if(window.XMLHttpRequest){<br />
xmlhttp = new XMLHttpRequest();<br />
}<br />
else if (window.ActiveXObject){<br />
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");<br />
if (!xmlhttp){<br />
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");<br />
}<br />
<br />
}<br />
return xmlhttp;<br />
}</p>
<p>var http = getHTTPObject(); // We create the HTTP Object</p>
<p>function requestInfo(url,id,redirectPage) { <br />
var temp=new Array();<br />
http.open("GET", url, true);<br />
http.onreadystatechange = function() {<br />
if (http.readyState == 4) {<br />
if(http.status==200) {<br />
var results=http.responseText;<br />
if(redirectPage=="" || results!="1") {<br />
var temp=id.split("~"); // To display on multiple div <br />
var r=results.split("~"); // To display multiple data into the div <br />
if(temp.length>1) {<br />
for(i=0;i<temp.length;i++) { <br />
document.getElementById(temp[i]).innerHTML=r[i];<br />
}<br />
} else {<br />
document.getElementById(id).innerHTML = results;<br />
} <br />
<br />
} else {<br />
window.location.href=redirectPage; <br />
}<br />
} <br />
}<br />
};<br />
http.send(null);<br />
}<br />
</p>
<br />
<p>showMain.php<br />
++++++++++++<br />
<?php<br />
header('Content-Type: text/xml');</p>
<p>//include("config.php");<br />
//include("mysql.lib.php");<br />
//$obj=new connect;<br />
<br />
$netwkinfo = "Some information pulled from database";<br />
echo "<table>";<br />
echo "<tr><td>My Data</td> <td><textarea id='netwkinfo' cols='75' rows='5' >" . $netwkinfo . "</textarea></td></tr>";<br />
echo "</tr>";<br />
echo "</table>";<br />
?><br />
</p>
showmain.php는 표시/편집 할 데이터베이스에서 데이터를 추출하는 파일입니다. 그러나 단순화를 위해 $ netwkinfo에 값을 할당합니다.
내가보고 싶은 것은 Editbox에 표시된 Nicedit 기능 (패널)입니다. 불행히도 나는 그것을 보지 못하고 평범한 편집 상자 만 나타납니다. 무엇이 잘못되었고 어떻게 작동하기 위해 수정 해야하는지.
비슷하게 만약에 나는 showmain.php의 텍스트 상자에 jquery datepicker를 사용했는데, 그것들도 작동하지 않습니다. 나는 그것의 개념이 같은 개념이라고 생각하지만 그들이 어떻게 작동하는지 알 수 없었습니다.
여기에 도움을 주셔서 감사합니다. 감사.
해결책 2
답에 대한 힌트를 찾았습니다 여기.
아직 Nicedit을 성공적으로 구현하지는 않았지만 JQuery의 DatePicker가 해결되었습니다.
내가 사용한 DatePicker의 경우 :
$(function(){
$('.inputDate').live('click', function() {
$(this).datepicker({
starts: 1,
position: 'right',
onChange: function(formated, dates){
$('#inputDate').val(formated);
$('#inputDate').DatePickerHide();
}
});
});
});
다른 팁
이미 페이지에 jQuery가 있으므로 AJAX 기능을 사용하지 않는 이유는 스크립트 파일을 읽기가 훨씬 쉽습니다.
mainjs.js
function init_table() {
requestInfo('showMain.php?mode=list&prev_cid=1','showTable','');
}
script.js
function requestInfo(url,id,redirectPage) {
$.ajax({ type: "POST",
url: url,
data: id,
success: function(msg){
var temp = id.split('~');
var r= msg.split("~")
for (i=0;i<temp.length;i+=1){
$(temp[i]).val(r[i]);
}
$(document).location.href = redirectPage;
});
제휴하지 않습니다 StackOverflow