【发布时间】:2019-05-13 13:19:40
【问题描述】:
我正在构建一个有按钮的表格。当用户单击此按钮时,行的统计信息会发生变化,在表中这表示具有 0 或 1 的字段。很好,我制作了按钮,但在某些行中出现错误,错误是 Uncaught SyntaxError: missing ) after argument列表,我很困惑,因为代码在 80% 的时间里都可以正常工作。
问题不在于数据库,因为我已经搜索了一些有问题的字段。
function enviaAssociado(CTITULAR) {
if (CTITULAR) {
$("#CTITULAR").remove();
$.ajax({
url: 'php_action/enviaAssociado.php',
type: 'post',
data: {
CTITULAR: CTITULAR
},
success: function() {
manageTable.ajax.reload();
//$("#CTITULAR").val(response.CTITULAR);
}
});
}
manageTable.ajax.reload();
}
PHP
`
$CTITULAR = $_POST['CTITULAR'];
$sql = "UPDATE importsmiles4e.tb_conv
SET STAT = CASE
WHEN STAT = 1 THEN 0
WHEN STAT = 0 THEN 1
ELSE STAT
END
WHERE substring(CTITULAR,2,6) = '$CTITULAR'
";
$query = $connect->query($sql);
$CTITULAR = $_POST['CTITULAR'];
$sql = "UPDATE importsmiles4e.tb_conv3
SET STAT = CASE
WHEN STAT = 1 THEN 0
WHEN STAT = 0 THEN 1
ELSE STAT
END
WHERE substring(CTITULAR,2,6) = '$CTITULAR'";
$query = $connect->query($sql);
// close the database connection
$connect->close();
echo json_encode($sql);
`
桌子
while ($row = $query->fetch_assoc()) {
$active = '';
if($row['EMAIL'] != '') {
$active = '<label class="label label-success">Cadastrado</label>';
} else {
$active = '<label class="label label-danger">Cadastrar</label>';
}
$botao = '<a type="button" class="btn btn-default" onclick="enviaAssociado('.$row['CTITULAR'].') ">Alterar</a>';
$status = '';
if($row['STAT'] == '0'){
$status ='<label class="label label-warning">Não</label>';
}else{
$status ='<label class="label label-success">Sim</label>';
}
$output['data'][] = array(
$row['NOME'],
$row['CPF'],
$row['CEPRES'],
$row['NROPROPOSTA'],
$row['DTADMISSAO'],
$row['DEPENDENTES'],
$row['VLSMENS'],
$status,
$botao,
);
https://i.stack.imgur.com/KnD7w.png => 错误日志
https://i.stack.imgur.com/MhsDh.png => 出错时返回
成功时的返回相同,唯一的变化是值键,我已经检查了值是否损坏。
【问题讨论】:
-
这是一个 JS 错误 .. 与 PHP 无关(简要查看)
-
问题可能出在“onclick”属性值上。这些“CTITULAR”值是什么样的?
-
查看产生错误的代码,而不是产生错误的代码。
-
@T.J.Crowder 哦,没看到 onclick ... 另一个原因 inline 很烂 xD
-
好的,事实证明你有一个 onclick - 让你的 JS 和 PHP 完全分开会更好。它们的执行方式不同,并且可能导致意外行为。内联 JS 本身也是一种不好的做法
标签: javascript