我有一些使用表单编辑的网格。但是在编辑成功之后,页面将网格中的数据重新加载回到开头。这意味着编辑过程失败。
我很困惑如何将这个全部变量发布到进程页面,因为我在这个php页面使用了switch-case。我在表单中添加了一些隐藏的操作:
<form id="editdefdata" class="editable">
<input id="action" name="action" value="changedefdata" type="hidden" />
<button id="defupdate"><span>Update </span></button>
</form>
这个数据将发布到流程页面:
Problem_date:2011-06-10
Line:FA 14
Shift:N
Model:KD-R321EUD
Serial_number:116V4262
DIC:IQC
Def_class:B
Symptom:CD eject shifting
Cause:Under investigate
Symgrup:Function
Modgrup:KD
oper:edit
def_id:15
这是进程或php页面:
$dbc=mysql_connect(_SRV,_ACCID,_PWD) or die(_ERROR15.": ".mysql_error());
$db=mysql_select_db("qdbase",$dbc) or die(_ERROR17.": ".mysql_error());
switch(postVar('action')) {
case 'oper':
edit(postVar('def_id'),postVar('DIC'),postVar('Def_class'),postVar('Symptom'),postVar('Cause'));
break;
case 'deldefdata':
//postVar blabla....
break;
}
function edit($def_id,$DIC,$Def_class,$Symptom,$Cause){
$defID = mysql_real_escape_string($def_id);
$DIC = mysql_real_escape_string($DIC);
$Defclass = mysql_real_escape_string($Def_class);
$Symp = mysql_real_escape_string($Symptom);
$Cause = mysql_real_escape_string($Cause);
$DIC=strtoupper($DIC);
$Defclass=strtoupper($Defclass);
$sql = "UPDATE oqc_defect SET DIC = '".$DIC."', Def_class = '".$Defclass."', ";
$sql.= "Symptom = '".$Symp."', Cause = '".$Cause."' ";
$sql.= "WHERE def_id = ".$defID;
echo $sql;
$result=mysql_query($sql) or die(_ERROR26.": ".mysql_error());
//echo $result;
mysql_close($dbc);
}
你能告诉我这个案子的正确答案吗?
答案 0 :(得分:0)
在您的javascript中,您使用'id'作为记录的标识符 例如
colNames:['id', .....
在你的colModel中,我看不到 id 我看到 def_id
{name:'def_id', index:'def_id', hidden:true, width:55},
在你的php中使用postVar('id')来表示变量 所以在你的colModel中添加一个id定义。
答案 1 :(得分:0)
我已经找到了自己的答案。这让我很高兴,因为这个问题我疯了一个星期。我尝试过的所有方法,但是直到今天我才找到了真正的答案。
<强>第一强>
如果您想发布一些参数,您必须检查将发布到服务器的参数名称。在这种情况下,请确保您的colModel's name
与您的php文件(_POST,postVar, or REQUEST)
相同。
<强>第二强>
更改prmNames
与当前参数操作相同。
在这种情况下,我需要改变:
prmNames: { oper:'action', editoper:'edit', id:'def_id'}
这是我问题的根本原因。这就是为什么脚本在识别某个变量时会混淆的原因。以下参数是正确的结果:
Problem_date:2011-06-10
Line:FA 14
Shift:N
Model:KD-R321EUD
Serial_number:116V4262
DIC:IQC
Def_class:B
Symptom:CD eject shifting
Cause:Under investigate
Symgrup:Function
Modgrup:KD
action:edit
def_id:15
switch(postVar('action')) {
case 'edit':
edit(postVar('def_id'),postVar('DIC'),postVar('Def_class'),postVar('Symptom'),postVar('Cause'));
break;
case 'deldefdata':
//postVar blabla....
break;
}