javascript函数中的php字符串格式

时间:2014-08-22 10:14:47

标签: javascript php html

请帮我解决这个字符串格式化问题。它在运行时显示错误。

我需要使用输入标记中的一些php变量调用java脚本函数AddHotel()。在函数中运行第一个参数时显示错误。它应该像onClick ='AddHotel('divid','some_id','id',id,rate)'

但是在运行时onClick='AddHotel(divid', 'some_id', 'id',ids,rate)'

$resort[] = "<div id='".$iiiddd."'><input id='hotel_day".$child_post->ID.$dyid."' name='hotel_day".$dyid."' type='radio' value='".$child_post->ID."' onclick='AddHotel(".$p.",'".$s."','".$psid."','".$dyid."','".$child_post->ID."',".$child_post->fields['price'].")' />
<input id='".$s."' name='expsel".$dyid."[]' type='hidden' value='' />".$child_post->post_title."<span>Rs:- ".$child_post->fields['price']."</span></div>";

2 个答案:

答案 0 :(得分:-1)

您想要逃避行情

$resort[] = "<div id='".$iiiddd."'><input id='hotel_day".$child_post->ID.$dyid."' name='hotel_day".$dyid."' type='radio' value='".$child_post->ID."' onclick='AddHotel(".$p.",\'".$s."\',\'".$psid."\',\'".$dyid."\',\'".$child_post->ID."\',".$child_post->fields['price'].")' />".$child_post->post_title."Rs:- ".$child_post->fields['price']."";

答案 1 :(得分:-1)

对于所有遇到此类问题的人:

您应始终使用双引号作为HTML属性值,例如:

<div attribute="value"><div>

要在Javascript函数中传递变量,您必须使用引号(最好是单引号)作为字符串。例如:

somethingAwesome('work', 'life', 1);

在PHP中嵌入HTML和Javascript时,不要与引号混淆。

PHP字符串+ HTML元素:

$string = '<div></div>';

PHP字符串+带有属性的HTML元素:

$string = '<div id="awesome"></div>';

PHP字符串+带有属性的HTML元素+ Javascript函数:

$string = '<div id="awesome" onclick="somethingAwesome()"></div>';

PHP字符串+带有属性的HTML元素+带参数的Javascript函数:

$string = '<div id="awesome" onclick="somethingAwesome(\''.$string.'\', \''.$string2.'\', '.$integer.');"></div>';

您可以选择双引号或单引号,但遵循一种特定方式可以防止您感到困惑。

即使是字符串中的HTML

,也请记住缩进您的代码

解决您的问题:

$resort[] = '<div id="'.$iiiddd.'">
                <input id="hotel_day'.$child_post->ID.$dyid.'" name="hotel_day'.$dyid.'" type="radio" value="'.$child_post->ID.'" onclick="AddHotel(\''.$p.'\', \''.$s.'\', '.$psid.', \''.$dyid.'\', '.$child_post->ID.', \''.$child_post->fields['price'].'\')" />
                <input id="'.$s.'" name="expsel'.$dyid.'[]" type="hidden" value="" />
                '.$child_post->post_title.'
                <span>Rs:- '.$child_post->fields['price'].'</span>
            </div>';