2
還是有些問題.... @@
因為對xajax還不熟, 所以只用addReplace來做>"<
不過現在這樣子的output是可以達到即時編輯,但是因為用onblur來控制,
所以會變成當游標出現, 然後再點其他地方才會做將input type=text拿掉,
不過在第一次點, 出現input type=text的時候,
游標不會出來.... @@
之前想說用onclick, 不過反而變成沒辦法編輯....
不知道要怎麼修改會比較好 >"<
function AddInput($FormA,$div_val)
{
$div_val2 = "i".$div_val;
$objResponse = new xajaxResponse();
$a = $objResponse->addReplace($div_val,"innerHTML",
$FormA[$div_val2]."<input type=hidden name=".$div_val2." value=\"".$FormA[$div_val2]."\">",
"<input type=text name=i".$div_val."x size=6 value=\"".$FormA[$div_val2].
"\" onchange=\"xajax_ReWrite(xajax.getFormValues('form1'),$div_val,$FormA[$div_val2]);\"".
" onblur=\"xajax_ReWrite(xajax.getFormValues('form1'),$div_val,$FormA[$div_val2]);\">");
return $objResponse;
}
function ReWrite($FormA,$div_val,$org_val)
{
$div_val2 = "i".$div_val."x";
$objResponse = new xajaxResponse();
$objResponse->addReplace($div_val,"innerHTML",
"<input type=text name=".$div_val2." size=6 value=\"".$FormA[$div_val2].
"\" onchange=\"xajax_ReWrite(xajax.getFormValues('form1'),$div_val,$org_val);\"".
" onblur=\"xajax_ReWrite(xajax.getFormValues('form1'),$div_val,$org_val);\">",
$FormA[$div_val2]."<input type=hidden name=i".$div_val." value=\"".$FormA[$div_val2]."\">");
return $objResponse;
}
$xajax = new xajax();
$xajax->registerFunction("AddInput");
$xajax->registerFunction("ReWrite");
//$xajax->debugOn();
$xajax->processRequests();
.....
<table>
<form name=form1 method=post>
<?
for($i=1;$i<20;$i++)
{
echo "<tr><td>\n";
echo "<div name='$i' id='$i' onclick=\"xajax_AddInput(xajax.getFormValues('form1'),'$i');\">\n";
$a = $i+1000;
echo $a."<input type=hidden name=i".$i." value='".$a."'>\n";
echo "</div></td></tr>";
}
?>
</form>
</table>