-2

我真的很头疼……

我正在尝试向我的输入和 textarea 字段添加一个类,但是每当我这样做时:

$inputclass = $class." multilanginput"; 

第二部分没有附加,但是当我离开空间并这样做时:

$inputclass = $class."multilanginput"; 

它工作得很好......

我以前从未遇到过这个问题,任何想法出了什么问题?

这是这个小功能的一部分:

function backend_dynamic_dialoginput($label,$class,$type = 'single',$lang = "none"){


if($lang == "none"){
    $lang = "";
}
else{
    $lang = "_".$lang;
}

$class = $class.$lang;
$id = "";

if($type == "singleint" || $type == "multiint"){
    $id = $class."_m";
    $inputclass = $class." multilanginput";
}else{
    $inputclass = $class;  
}


$html = "
<div style='padding-left:10px;margin-top:1px;background-color:#dddddd;padding-bottom:8px;padding-top:8px;'>
    <div style='float:left;font-size:13px;color:#5a5a5a;padding-top:6px;margin-bottom:2px;width:30%;text-align:right;padding-right:4px;' class='font_lato'>".$label."</div>
    ";

    if($type == "single" || $type == "singleint"){
        $html .= "<input type='text' value=".$inputclass." style='font-size:12px;width:60%;border:1px solid #ffffff;padding:2px;background-color:#dddddd;' class='font_din' id='".$id."' class='".$inputclass."'>";
    }
    else if($type == "multi" || $type == "multiint"){
        $html .= "<textarea style='font-size:12px;width:60%;border:1px solid #ffffff;padding:2px;background-color:#dddddd;' class='font_din' id='".$id."' class='".$inputclass."' rows=2></textarea>";
    }

    $html .= "
    ";

    if($type == "singleint" || $type == "multiint"){
    $html .= "<div style='float:right;font-size:12px;background-color:#eeeeee;margin-right:4px;' id='".$class."' class='togglefullscr font_lato'>Int.</div>";
    }


    $html .= "
    </div>";

if($type == "singleint" || $type == "multiint"){
$html .= backend_dynamic_internationaldialog($label,$class,$type);   
}

return $html;

}

4

3 回答 3

1

您没有在 HTML 属性周围加上引号。

将行更改为:

$html .= "<input type='text' value='".$inputclass."' style='font-size:12px;width:60%;border:1px solid #ffffff;padding:2px;background-color:#dddddd;' class='font_din' id='".$id."' class='".$inputclass."'>";

当你像这样省略引号时,第二个类名将被视为另一个属性。

如果您验证标记,则可以轻松避免此类问题;-)

于 2012-12-20T10:51:20.907 回答
0

你的引号是错误的:

$html .= "<input type='text' value=".$inputclass."

它必须是$html .= "<input type='text' value='".$inputclass."'$html .= "<input type='text' value=\"".$inputclass."\"

但是,我强烈建议对字符串使用单引号:

$html .= '<input type="text" value="'.$inputclass.'"...>';.

于 2012-12-20T10:51:09.643 回答
0

您可以在 php 中使用\x20and转义空格。\040

http://php.net/manual/en/regexp.reference.escape.php

请看说明书

于 2012-12-20T10:51:55.030 回答