Кнопка HTML не работает в IE, но в других браузерах нормально

#php #mysql

#php #mysql

Вопрос:

Я пишу небольшой просмотрщик базы данных.. У меня есть ссылка внизу, как вы можете видеть, отправляющая идентификатор на другую страницу. Эта кнопка работает в любом другом браузере, кроме IE.

Есть идеи?

Если я нажимаю на нее в IE, она ничего не делает.

     <?php
include_once('include/opendb.php');

$query = "SELECT id, rep, date, account, areacode, number, address1, address2, city, state, zip, fax, descmaker1, descmaker2, title, email, cvendor, cequipment, leaseexp1, leaseexp2, leaseexp3, leaseexp4, leaseexp5, leaseexp6, volume, notes FROM accounts";
$result = mysql_query($query);
$entrytotal = mysql_num_rows($result);

  echo '<div id="entrytotal">' . $entrytotal . ' Total Accounts</div>';

while($row = mysql_fetch_row($result)){
    $id = $row[0];
    $rep = $row[1];
    $date = $row[2];
    $account = $row[3];
    $areacode = $row[4];
    $number = $row[5];
    $address1 = $row[6];
    $address2 = $row[7];
    $city = $row[8];
    $descmaker1 = $row[12];
    $descmaker2 = $row[13];
    $title = $row[14];
    $email = $row[15];
    $cvendor = $row[16];
    $cequipment = $row[17];
    $leaseexp1 = $row[18];
    $leaseexp3 = $row[20];
    $volume = $row[24];

            echo '<tr>';
            echo '<td width="120" align="middle"><font color="black"><b>' . $rep . '</b></font></td>';
            echo '<td width="120" align="middle"><font color="black"><b>' . $date . '</b></font></td>';
            echo '<td width="120" align="middle"><font color="black"><b>' . $account . '</b></font></td>';
            echo '<td width="120" align="middle"><font color="black"><b>' . $address1 . '</b></font></td>';
            echo '<td width="120" align="middle"><font color="black"><b>' . $city . '</b></font></td>';
            echo '<td width="120" align="middle"><font color="black"><b>' . $descmaker1 . '</b></font></td>';
            echo '<td width="120" align="middle"><font color="black"><b>' . $descmaker2 . '</b></font></td>';
            echo '<td width="120" align="middle"><font color="black"><b>' . $title . '</b></font></td>';
            echo '<td width="120" align="middle"><font color="black"><b>' . $cvendor . '</b></font></td>';
            echo '<td width="120" align="middle"><font color="black"><b>' . $leaseexp1 . '</b></font></td>';
            echo '<td width="120" align="middle"><font color="black"><b>' . $leaseexp3 . '</b></font></td>';
            echo "<td width='120' align='middle'><a href='info.php?id=" . $id . "'><input style='font-family:Helvetica; width: 50px;' type='submit' value='Info'></a></td>";
            echo '</tr>';
}
   ?>
  

Ответ №1:

Просто несколько быстрых заметок без тестирования, но:

  1. Вы можете просто оформить ссылку привязки, чтобы она выглядела как кнопка, не нужно помещать кнопку внутри тега привязки.
  2. Что касается предыдущего пункта, если вы просто пытаетесь перейти по ссылке на другую страницу, вам не нужен элемент ввода. Просто ссылка.
  3. Если вы действительно пытаетесь отправить форму, я не вижу никаких <form> тегов в вашем примере.

Комментарии:

1. Я бы удалил примечание о самозакрывающемся теге ввода. Если документ является HTML, то он действительно действителен.

2. @Kevin — я вижу, что вы правы, но продвижение правильного форматирования — хорошая вещь, имхо. Это может быть допустимый HTML, но это плохая практика (и недопустимый XHTML).

3. Это неплохая практика и она не является недопустимой. Это нормально, если вы хотите продвигать HTML с помощью сериализации XML, но вы не можете изменять валидность, не зная, использует ли пользователь HTML или XHTML.

4. ну, это, безусловно, 1 мнение. Если у вас когда-либо была потребность в совместимости с XHTML, почему бы не проявить инициативу, когда дело просто сводится к добавлению закрывающей косой черты? Это, безусловно, неплохое предложение и не заслуживает понижения.

5. Во-первых, я не голосовал против вас. Я поддержал, а затем удалил голосование на основе вашего ответа мне. Во-вторых, валидность по стандарту — это не мнение. Вы не можете сказать кому-либо, использующему HTML, что это недопустимо, потому что вы хотите, чтобы они использовали XHTML. Вы не можете сказать, что она недействительна, в первую очередь, потому что никогда не было указано, какому стандарту они следовали! Давайте не будем принимать это так близко к сердцу 😉

Ответ №2:

Я предлагаю вам сделать это вместо:

 <input style='font-family:Helvetica; width: 50px;' type='button' value='Info' onclick="location.href='info.php?id=<?php echo $id; ?>'">
  

Редактировать

Примечание: вам нужно удалить тег link, окружающий кнопку.

Комментарии:

1. То, что у него есть, не является недопустимым HTML, хотя ваши предложения являются действительными.

2. @kevin: в каких ситуациях вы хотели бы обернуть кнопку тегом привязки? Мне хотелось бы знать

3. @boug, даже если это плохое использование, это все равно не недопустимый HTML

4. @boug, но ты сказал, What you have is not valid html. отсюда и мой первоначальный комментарий 🙂

5. @kevin: Думаю, я неправильно использовал слово valid :). Спасибо, что указали на это

Ответ №3:

На самом деле вам не нужна кнопка без формы. вы могли бы просто использовать ссылку.

 echo "<td width='120' align='middle'>
   <a href='info.php?id=" . $id . "'>Info</a>
</td>";
  

и если вы хотите придать ей стиль, просто используйте интервал, подобный этому

   <td width='120' align='middle'>
    <a href='info.php?id=" . $id . "'>
    <span style='font-family:Helvetica; width: 50px; border:1px solid #000; padding:5px; background-color:#ccc;'>Info</span>
    </a>
  </td>
  

Комментарии:

1. ваш был самым простым в реализации, и ваша разметка была правильной. Отличная работа и спасибо!

Ответ №4:

Другие ответы верны.

Вот немного HTML, чтобы помочь:

 <form method="post"><!-- or method="get" if you're not changing anything -->
<!-- other hidden input data here -->
<input type="hidden" name="id" value="<?php echo $id; ?>">
<input type="submit" value="Info">
</form>