获取选择值以传递给POST

时间:2018-04-19 17:40:51

标签: javascript php ajax

我目前正在尝试找到实现这一目标的最佳方法,我有一个html表单,有一个选项,我需要通过javascript获取select的值,我可以做,然后将它放入要在POST中发送的隐藏输入字段。

部分HTML表单:

            <select onchange='getId(this.value)' name="article_domain" class="form-control" required="required">
                    <?php
                    $rows   = DB::getInstance()->select('SELECT * FROM `domains` ORDER BY `domain_date` DESC');
                    $secret = "";
                    $cost   = "";
                    ?>
                    <?php foreach ($rows as $row) { ?>
                        <?php $secret = $row['domain_id']; ?>
                        <?php $cost   = $row['domain_cost_pm']; ?>
                        <option value="<?php echo htmlspecialchars($row['domain_id']) ?>">[DA<?php echo htmlspecialchars($row['domain_da']) ?>][PA<?php echo htmlspecialchars($row['domain_pa']) ?>][CF<?php echo htmlspecialchars($row['domain_cf']) ?>][TF<?php echo htmlspecialchars($row['domain_tf']) ?>][RD<?php echo htmlspecialchars($row['domain_rd']) ?>][$<?php echo htmlspecialchars($row['domain_cost_pm']) ?>][<?php echo htmlspecialchars($row['domain_category']) ?>]</option>
                    <?php } ?>
            </select>
            </div>
        </div>              

         <div class="row form-group">
            <div class="col-sm-12 text-right">
                <input type="hidden" name="hiddenId" value="NEED_THE_ID_HERE" />
                <input type="hidden" name="hiddenCost" value="<?php echo $cost; ?>" />
                <button type="submit" name="submitAddArticle" class="btn btn-primary">Add Post</button>
            </div>
        </div>  

使用Javascript:

<script type="text/javascript">
function getId(id) {
  theId = id;
}
</script>

当onChange被触发时,我可以提醒 theId 值确实包含正确的ID,我不确定将其传递到此处的最佳方式value =&#34; NEED_THE_ID_HERE&#34;一旦它确实去了那里,我可以在提交表单后将其传递给POST,任何帮助将不胜感激,我现在​​不是100%肯定使用javascript,我认为我在正确的轨道上

2 个答案:

答案 0 :(得分:3)

您可以在隐藏字段中添加id属性:

<input type="hidden" name="hiddenId" id="hidden-id" value="" />

然后,在JavaScript函数中,使用querySelector()填充输入:

<script type="text/javascript">
function getId(id) {
  document.querySelector("#hidden-id").value = id;
}
</script>

或使用getElementById()

<script type="text/javascript">
function getId(id) {
  document.getElementById("hidden-id").value = id;
}
</script>

答案 1 :(得分:1)

你能给你的隐藏输入一个id,然后用jQuery设置值吗?

$("#yourHiddenInput").val(theId);