Использование значения выделения для действия формы - PullRequest
0 голосов
/ 03 февраля 2012

У меня есть раскрывающийся список, в котором я хотел бы использовать значение раскрывающегося списка параметров, чтобы определить назначение действия формы метода post.

<form name="scriptform" method="post" action=http://www.mysite.com/newad.php?do=newad&cat=<?php urlencode($_POST['catselect']); ?>" target="_self">"
<div class="blocked">
<select name="catselect">
<option value="0">Please select a Category</option>
<optgroup label="Cars"></optgroup>
<option value="14" class="">BMW</option>
<option value="23" class="">Porsche</option>

Идея состоит в том, чтобы взятьзначение параметра и использовать его в качестве категории для создания нового объявления с использованием newad.php.По какой-то причине php не вводит значение в строку, прежде чем я нажимаю кнопку отправки, и похоже, что значение пустое.Буду признателен, если кто-то немного расскажет!

Ответы [ 3 ]

2 голосов
/ 03 февраля 2012

PHP - это язык сценариев на стороне сервера. Он оценивает скриптлеты перед отображением страницы. Таким образом, значение выбора может быть ничем в этой точке.

Попробуйте использовать javascript для изменения действия формы каждый раз, когда выбираете новое значение.

Добавить событие onchange для выпадающего списка

   <script type="text/javascript">
    <!--//
    change(val) {
        document.scriptform.action = "http://www.mysite.com/newad.php?do=newad&cat="+val;
    }
    //-->
    </script>

    <form name="scriptform" method="post" action=http://www.mysite.com/newad.php?do=newad&cat=" target="_self">"
    <div class="blocked">
    <select name="catselect" onChange="change(this.value)">
    <option value="0">Please select a Category</option>
    <optgroup label="Cars"></optgroup>
    <option value="14" class="">BMW</option>
    <option value="23" class="">Porsche</option>
    </select>
    </div>
    </form>
0 голосов
/ 03 февраля 2012

Это простой способ сделать это с помощью php

<?php
if(isset($_POST['catselect']))
{

    $path ="newad.php?do=newad&cat=".urlencode($_POST['catselect']);
    header("Location:".$path);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function change()
{
    document.scriptform.submit();
}
</script>
</head>

<body>
 <form method="post" name="scriptform">
    <div class="blocked">
    <select name="catselect" onChange="change(this.value)">
    <option value="0">Please select a Category</option>
    <optgroup label="Cars"></optgroup>
    <option value="14" class="">BMW</option>
    <option value="23" class="">Porsche</option>
    </select>
    </div>
    </form>
</body>
</html>
0 голосов
/ 03 февраля 2012

Вы можете попробовать этот код.

<html>
<head>
<script language="JavaScript" type="text/JavaScript">
    function optionsAlert(){
        var e = document.getElementById("catselect");
        var strUser = e.options[e.selectedIndex].value;
        alert(strUser);
        window.location.href="http://www.mysite.com/newad.php?do=newad&cat="+strUser;
    }
</script>
</head>

<form name="scriptform" method="post" >
<select name="catselect" id="catselect" onchange="optionsAlert()"/>
<option value="0">Please select a Category</option>
<optgroup label="Cars"></optgroup>
<option value="14" class="">BMW</option>
<option value="23" class="">Porsche</option>
</select>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...