1

我想先将一个 javascript onclick 函数代码存储到一个字符串中,然后我需要将它传递给一个单选按钮。

我的 sting 变量是:

$jsFunc = "onclick=\"javascript:showHide(this.value, \'$arrFlipEntities[$field_id]\');\"";

我想使用这个变量,如 dis:

$strCode .= "<input {$jsFunc} type=\"radio\" name=\"{$field_name}\" id=\"{$option}\" value=\"{$option}\" checked=\"checked\"/><label for=\"{$option}\">{$option}</label>";

但是当我查看源代码时,它给出了这个输出:

<input onclick="javascript:showHide(this.value, \'bas_link\');" type="radio" name="bas_type" id="Yes" value="Yes" checked="checked">
4

4 回答 4

1

尝试:

$jsFunc = "onclick=\"javascript:showHide(this.value, '".$arrFlipEntities[$field_id]."');\"";

$strCode .= "<input {$jsFunc} type=\"radio\" name=\"{$field_name}\" id=\"{$option}\" value=\"{$option}\" checked=\"checked\"/><label for=\"{$option}\">{$option}</label>";
于 2012-08-10T05:00:42.290 回答
1

当'在两个“中时,它不需要\

$jsFunc = "onclick=\"javascript:showHide(this.value, '$arrFlipEntities[$field_id]')\"";
$strCode .= "<input {$jsFunc} type=\"radio\" name=\"{$field_name}\" id=\"{$option}\" value=\"{$option}\" checked=\"checked\"/><label for=\"{$option}\">{$option}</label>";
于 2012-08-10T05:01:34.920 回答
1

我更喜欢这样的单引号方法:

$jsFunc = 'onClick="javascript:showHide(this.value, '.$arrFlipEntities[$field_id].');"';

$strCode .= '<input '.$jsFunc.' type="radio" name="'.$field_name.'" id="'.$option.'" value="'.$option.'" checked="checked"/><label for="'.$option.'">'.$option.'</label>';
于 2012-08-10T05:06:05.650 回答
0
$jsFunc = "onclick=\"javascript:showHide(this.value, \'$arrFlipEntities[$field_id]\');\""; 

应该:

$jsFunc = "onclick=\"javascript:showHide(this.value, '".$arrFlipEntities[$field_id]."');\""; 

单引号和双引号在被另一个包裹时不会被转义。此外,您不能在双引号内访问这样的数组,仅适用于 $var = "$myVar"; 这样的变量。

于 2012-08-10T05:00:25.560 回答