Member 13347492 Ответов: 2

Как заменить кнопку отправки на onchange


У меня есть список, основанный на sql-запросе, и кнопка отправки, которая публикует выбранный элемент. Другие элементы на странице связаны с другим запросом и отображаются в соответствии с тем, что выбрано в списке выбора.

Я хочу заменить кнопку отправки событием onchange в списке выбора.

Я создал функцию для захвата var, но когда я выбираю что-либо, ничего не происходит.

Как мне получить “вид " на запросы?

Что я упускаю? Я включил некоторый урезанный код, чтобы показать соответствующие части файла.

Есть два запроса-один для списка выбора, а другой для отображения данных на остальной части страницы. Пожалуйста, игнорируйте любой посторонний или неаккуратный код, я уберу его позже.

Что я уже пробовал:

mysql_select_db($database_PaSiteGuide, $PaSiteGuide);
$query_rsSelectSpeciesAlpha = "SELECT BirdsOfPA.ID, BirdsOfPA.CommonName FROM BirdsOfPA ORDER BY BirdsOfPA.CommonName ASC";
$rsSelectSpeciesAlpha = mysql_query($query_rsSelectSpeciesAlpha, $PaSiteGuide) or die(mysql_error());
$row_rsSelectSpeciesAlpha = mysql_fetch_assoc($rsSelectSpeciesAlpha);
$totalRows_rsSelectSpeciesAlpha = mysql_num_rows($rsSelectSpeciesAlpha);

$colname_rsBirdsOfPa = "-1";
if (isset($_POST['Species'])) {
  $colname_rsBirdsOfPa = $_POST['Species'];
}

mysql_select_db($database_PaSiteGuide, $PaSiteGuide);
$query_rsBirdsOfPa = sprintf("SELECT * FROM birdsofpa WHERE birdsofpa.ID = %s", GetSQLValueString($colname_rsBirdsOfPa, "int"));
$rsBirdsOfPa = mysql_query($query_rsBirdsOfPa, $PaSiteGuide) or die(mysql_error());
$row_rsBirdsOfPa = mysql_fetch_assoc($rsBirdsOfPa);
$totalRows_rsBirdsOfPa = mysql_num_rows($rsBirdsOfPa);
?>

<head>

<script>
function mySpeciesFunction() {
    var species= document.getElementById("Species").value;
}
</script>

</head>


<body>
<p align="center" class="BlackHeadline">Birds of Pennsylvania - An Annotated List</p>

<table width="1000" border="0" align="center">
  <tr>
    <td width="645" align="center" valign="bottom" bgcolor="#F2DB9B">

    <form action="TestBirdsOfPaPageAlpha.php" method="post" name="form1" target="_self" id="form1">
    <label for="Species" class="MediumSerifText">Select Species (Alphabetical order):</label>
    <select name="Species" id="Species" onchange="mySpeciesFunction()">
    <?php
do {  
?>
        <option value="<?php echo $row_rsSelectSpeciesAlpha['ID']?>"><?php echo $row_rsSelectSpeciesAlpha['CommonName']?></option>
        <?php
} while ($row_rsSelectSpeciesAlpha = mysql_fetch_assoc($rsSelectSpeciesAlpha));
  $rows = mysql_num_rows($rsSelectSpeciesAlpha);
  if($rows > 0) {
      mysql_data_seek($rsSelectSpeciesAlpha, 0);
	  $row_rsSelectSpeciesAlpha = mysql_fetch_assoc($rsSelectSpeciesAlpha);
  }
?>
      </select>
      </span>
      </form></td>
  <tr align="center" bgcolor="#F2DB9B">
    <td colspan="4"><table width="1000" border="1" align="center" cellpadding="5">
        <tr>
          <td colspan="3" align="center" bgcolor="#FFFFFF" class="BlackHeadline2"> <span class="BlackHeadline"><?php echo $row_rsBirdsOfPa['CommonName']; ?> (<em><?php echo $row_rsBirdsOfPa['SciName']; ?></em>)</span></td>
        </tr>
        <tr>
          <td colspan="2" rowspan="4" align="left" valign="top" bgcolor="#FFFFFF" class="smallSerif"><table width="400" border="1">
            <tr>
              <td width="250"><span class="MediumSerifText"><span id="sprytrigger2">Abundance</span>:</span></td>
              <td align="center"><span class="MediumText"><?php echo $row_rsBirdsOfPa['Abundance']; ?></span></td>
            </tr>


Что я уже пробовал:

---

Kornfeld Eliyahu Peter

Где находится кнопка отправки, которую вы хотите заменить?

2 Ответов

Рейтинг:
12

Kornfeld Eliyahu Peter

Самый простой способ отправить форму об изменении стоимости, вероятно, заключается в следующем:

<input type="text" name="Name" onchange="this.form.submit()">

Однако это будет идти на сервер с любым изменением одного символа, и это может быть слишком много...
<input type="text" name="Name" onchange="doSubmit()">
<script>
function doSubmit(){
  if(...) // your condition to do submit 
  {
    this.form.submit();
  }
}
</script>


Member 13347492

Так как же мне это сделать с помощью списка выбора?

Рейтинг:
1

Member 13347492

Я удалил его.

Так оно и было

<input name="GoButton" type="submit" class="OptionBold" id="GoButton" value="Go" />


Kornfeld Eliyahu Peter

Не добавляйте свой комментарий в качестве решения... используйте "есть вопрос или комментарий" или "ответ", как подходит...