【发布时间】:2015-12-08 19:09:37
【问题描述】:
我一直在试图弄清楚如何获取 div 中的所有输入元素,包括 select 和 textarea 并将它们传递给编辑器,到目前为止我已经弄清楚了输入,但我只是坚持其余的。
这是目前为止的代码
function InsertShortcode(elem) {
var shortcodeName = elem.parentElement.id;
var inputs = document.getElementById(shortcodeName).getElementsByTagName('input'), i=0, e;
var inputs_val = '[' + shortcodeName;
while(e=inputs[i++]){
if(e.id){
inputs_val += ' ' + e.id + '="' + e.value + '"';
}
}
inputs_val += ']';
window.send_to_editor(inputs_val);
}
通过这个,我能够抓取提交按钮所在的 div 内的所有输入,但我仍然不确定如何抓取 textarea 或选择输入。
问题是我必须让它动态化。我将有许多“短代码”,每个都将在按钮所在的div 中。但是每个人都有自己的输入,我无法控制,所以我需要全部抓取它们并将值发送给编辑器。这是代码示例。
<div class="output-shortcodes">
<?php foreach( $theme_shortcodes as $key => $name ) { ?>
<div id="<?php echo $key ?>">
<p>
<h2><?php echo $name ?></h2>
</p>
<?php $form = $key . '_form';
if(function_exists($form)) {
$form(); // this is where the input fields are dynamically created on each shortcode.
}
?>
<button class="button-primary" onclick="InsertShortcode(this)">Insert shortcode</button>
</div>
<?php } ?>
</div>
【问题讨论】:
-
如果您投反对票,请解释原因。
-
这是一个很好的问题 - SO 上只有一些人似乎对任何事情都投了反对票。我刚刚投了你一票 - 所以摆脱了那个。
标签: javascript jquery html css