2

私はphpに次のコードを持っています:

<?php
$apples = 123123;
echo "<td>
         <input type='button' onclick='confirmation($apples)' value='ac/in'>
      </td>";

echo('<script type="text/javascript">
           function confirmation(test) {
              var answer = confirm("Are you sure?")
              if (answer){
                  alert(test);
                  $.get("/index.php?f=func_name_to_call", 
                  {name: "John", hobby: "Programming"}, function(data) {});
              }
           }
</script>');
?>

$apples が数値の場合、パラメーターは正しく渡されます。ただし、文字列の場合、関数 Confirmation() は壊れています。何か案は?前もって感謝します。

4

3 に答える 3

7

引数を文字列として渡したい場合は、以下の編集済みコードを使用します

echo "<td><input type='button' onclick='confirmation(\"$apples\")' value='ac/in'></td>";

二重引用符をエスケープするために使用するだけ\で、文字列と見なされます。

于 2013-01-23T05:20:34.817 に答える
2

はい、二重引用符のない整数型パラメーターに整数を渡すため、確認関数の呼び出しでエスケープ文字 \" \" を使用する必要があります。したがって、文字列を整数に変換します...

于 2013-01-23T05:34:00.803 に答える
1
<?php
$apples = 123123;
?>
<td>
    <input type='button' onclick='confirmation(<?php echo $apples?>)' value='ac/in'>
</td>

<script type="text/javascript">
    function confirmation(test) {
        var answer = confirm("Are you sure?")
        if (answer){
            alert(test);
            $.get("/index.php?f=func_name_to_call", 
            {name: "John", hobby: "Programming"}, function(data) {});
        }
    }
</script>

でそれらをエコーするので、'それらすべてをに変換するという問題に遭遇します。ただのアドバイスではなく、マークアップを使用して、あなたの"phpechohtmlphp

于 2013-01-23T05:54:58.857 に答える