如何在输入字段中使用javascript函数的返回值


how to use a returned value from javascript function inside input field?

由于我无法解释早些时候发布的问题,这里是另一个尝试。所有我想要的是有一个被选中的当前选项的值,这样我就可以在输入字段的值中回显该值。

JavaScript

function id() {
    var sel = document.getElementById("cate");
    // to get the value of the selected option
    var selectedid = sel.options[sel.selectedIndex].value;
    return selectedid;
}
PHP

<form action="" method="POST">
    <select name="cate">
    <?php 
        $que1 = "SELECT * FROM category";
        $res1 = mysql_query($que1);
        while($row = mysql_fetch_array($res1)) {    
            $cat_id_db = $row['cat_id'];                 
            $cat_db = $row['cat_name'];                  
    ?>
        <option value="<?php echo $cat_id_db; ?>" >
            <?php echo $cat_db;?>
        </option>
    <? } ?>
    </select>
    <p><label class="field">Category ID:</label></p>
    //HERE!
    <input type="text" name="cat_id"  value="<?php echo $cat_id_db; ?>" class="textbox-300" pattern="[a-zA-Z0-9'. ]+" title="Please enter your Item Price">
</form>

//HERE!:这是我想使用当前/选定选项的值而不是php代码编写的地方。

这不是http进程的工作方式。Php运行在服务器上,js运行在浏览器上(大多数情况下)。如果你只想设置输入值,可以使用javascript:

<form action = "" method = "POST">
    <select name="cate" onchange="changeInput(this.value);">
        <?php //your php code here ?>
    </select>
    <p><label class = "field">Category ID:</label></p>
    <input type = "text" name = "cat_id" id="cat_id" value = "change select to see me change" class = "textbox-300" pattern = "[a-zA-Z0-9'. ]+"  title = "Please enter your Item Price">
</form>
<script>
    var changeInput = function (val){
        var input = document.getElementById("cat_id");
        input.value = val;
    }
</script>

实例:https://jsfiddle.net/nr8c8j8L/

首先,必须设置元素的id。不是"名字"

<select name="cate" id=cate>

第二,为什么你必须重写选定的项目到输入元素?在服务器端,您可以使用$_POST['cate']

获取元素的值