私はPHPでrawurlencode
を、JavaScriptでdecodeURIComponent
を使用すると言うか、json_encode
を使用すると言うことができます。どちらも私のために働く。PHPからJavascript変数に値を渡す
私はこのようなhtmlのボタンがあります:誰かが私が間違ってやっているかを見ることができます願って
var edit = function(t, to, cameratype, cameraname, cameraquality, camerahash, camerastatus, emailnotice, camerasensitivity, axisuser, axispass, axisip, axisport)
{
if (mydiv.find("form").length) {
mydiv.show();
} else {
// fields
var $myform = $("<form id='EditCameraForm' name='' method='post' action='" + to + "'></form>");
var $myfieldset = $("<fieldset><legend>Edit camera settings</legend></fieldset>");
var $myinput = $('<input/>').attr('type','hidden').attr('name','camera_type').val(cameratype);
var $mylabel = $("<label for='CameraName'>Camera name: </label>");
var $myinput2 = js('<input/>').attr('size','25').attr('name','camera_name').attr('id','CameraName').val(decodeURIComponent(cameraname));
$myform.append($myinput, $mylabel, $myinput2);
...
}
...
}
私が試した:
<button id="editbutton" onClick='edit(this, "<?php echo htmlentities($_SERVER['REQUEST_URI']); ?>", "<?php echo $result_cameras[$i]["camera_type"]; ?>", "<?php echo rawurlencode($result_cameras[$i]["camera_name"]); ?>")'>Edit</button>
を私はjavascriptの編集ボタンにすることを渡します上記のようにrawurlencode/decodeURIComponentを使用し、カメラ名がa"a
(引用符をテストするだけ)と編集ボタンを押すと、私はa"a
を取得します。 a\b
のようなバックスラッシュはちょっと変わった文字を返すだけです。
<?php echo json_encode($result_cameras[$i]["camera_name"]); ?>
と私はこのエラーを取得するJavaScriptコードには何も入れないでください:
は私がしようとした場合
missing) after argument list
edit(this, "/dashboard", "WEBCAM", ""a"a"", "0", "3dd10c49784e2207de1e1932958bfb...
が、それは "" を指しています"a" "。
提案がありますか?
が、私はこれを適用して、私はjson_encodeを使用する場合、それは私の説明と同じエラーを与えて? – Tom
@Tom:3回のオカレンスを「addslashes」に変更しましたか? – Jon
はい、同じエラーです。 – Tom