我目前正在尝试找到实现这一目标的最佳方法,我有一个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,我认为我在正确的轨道上
答案 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);