передача полного строкового значения на вкладке аккордеона - PullRequest
1 голос
/ 23 декабря 2011

У меня есть вкладки JQuery для аккордеона.внутри этих вкладок у меня есть скрытая форма, которая при нажатии автоматически заполняется определенными значениями, отображаемыми на этой вкладке.Он отображается правильно на вкладке аккордеона, но когда я передаю те же переменные, что и значения автозаполнения в форме, отображается только первое слово, если есть более 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)

1 Ответ

0 голосов
/ 23 декабря 2011

Вы должны поместить кавычки вокруг содержимого вашего value -атрибута, в противном случае «другие слова» интерпретируются как HTML-атрибуты. То, что отображается в браузере, выглядит так:

<input value=hello world>

Браузер интерпретирует это как элемент input, который имеет два атрибута:

  1. value="hello"
  2. world=""

Таким образом, вы должны поместить кавычки ' или двойные кавычки " вокруг значения атрибута. Вот так:

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, чтобы избежать кавычек, которые могут появляться внутри значений (это добавляет еще один уровень безопасности).

...