-2

ほんとに首をかしげてます…

入力フィールドとテキストエリアフィールドにクラスを追加しようとしていますが、いつでも次のようにします:

$inputclass = $class." multilanginput"; 

2番目の部分は追加されませんが、スペースを省略して次のようにすると:

$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."'>";

このように引用符を省略すると、2 番目のクラス名は別のプロパティとして扱われます。

このような問題は、マークアップを検証すれば簡単に回避できます;-)

于 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

\x20PHPで andを使用してスペースをエスケープできます\040

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

マニュアルをご覧ください

于 2012-12-20T10:51:55.030 に答える