在accordion选项卡中传递完整的字符串值

时间:2011-12-23 06:12:58

标签: php jquery textbox accordion

我有jquery手风琴标签。在这些选项卡中,我有一个隐藏的表单,单击,自动填充该选项卡中显示的某些值。它在accordion选项卡中正确显示,但是当我在表单中传递与自动填充值相同的变量时,如果有超过1个单词,则只显示第一个单词。我作为文本框的值属性放置的变量名称完全相同,所以我不知道为什么会发生这种情况。

echo "<tr><p><td>".$allCourses[$i][0]."</td> - <td>".$allCourses[$i][1]."</td>

它在这里正确显示。但是,这里只出现第一个单词:

<form action='editCourse.php' method='post'>
<p id='edit-course-d' class='edit-accordion-tab'><img src='images/edit.png' title='Edit Course'/></p>
<p id='edit-course-f' style='display: none'>
Course ID: <input type='text' name='edit-course-id' value =".$allCourses[$i][0]."><br />
Course Name: <input type='text' name='edit-course-name' value=".$allCourses[$i][1]."><br />

(所有这些都在php中的echo“中”

1 个答案:

答案 0 :(得分:0)

您必须在value - 属性的内容周围加上引号,否则“其他词”将被解释为HTML属性。因此,呈现给浏览器的内容如下:

<input value=hello world>

浏览器会将此解释为input元素,该元素具有两个属性:

  1. value="hello"
  2. world=""
  3. 因此,您必须在属性值周围加上引号'或双引号"。像那样:

    echo "
        <form action='editCourse.php' method='post'>
        <p id='edit-course-d' class='edit-accordion-tab'><img src='images/edit.png' title='Edit Course'/></p>
        <p id='edit-course-f' style='display: none'>
        Course ID: <input type='text' name='edit-course-id' value='".htmlspecialchars($allCourses[$i][0])."'><br />
        Course Name: <input type='text' name='edit-course-name' value='".htmlspecialchars($allCourses[$i][1])."'><br />";
    

    我使用htmlspecialchars来逃避可能出现在值中的引号(这会增加另一层安全性)。