Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用纯JS将文本添加到标签中的选项_Javascript_Html_Forms_Placeholder - Fatal编程技术网

Javascript 使用纯JS将文本添加到标签中的选项

Javascript 使用纯JS将文本添加到标签中的选项,javascript,html,forms,placeholder,Javascript,Html,Forms,Placeholder,我有一个脚本,将标签文本作为占位符属性应用于输入,但是我有一个选择下拉字段,其中我需要第一个选项(当前为空)来包含标签名称。在这种情况下,区域 我考虑过使用另一个标签; 但我不知道怎样才能拿到最好的 当前JS: var labels = document.querySelectorAll("label"); var i = labels.length; while (i--) { var label = labels.item(i); var text = label.textConte

我有一个脚本,将标签文本作为占位符属性应用于输入,但是我有一个选择下拉字段,其中我需要第一个选项(当前为空)来包含标签名称。在这种情况下,区域

我考虑过使用另一个标签; 但我不知道怎样才能拿到最好的

当前JS:

var labels = document.querySelectorAll("label");
var i = labels.length;
while (i--) {
  var label = labels.item(i);
  var text = label.textContent;
  label.parentNode.classList.contains("required") && (text += " *");
  label.nextElementSibling.setAttribute("placeholder", text);
  label.parentNode.removeChild(label);
}
var elements = document.querySelectorAll('.errors, .no-label');
Array.prototype.forEach.call(elements, function(el, i){
    el.parentNode.removeChild(el);
});
HTML

<form accept-charset="UTF-8" method="post" action="nottelling" class="form" id="pardot-form">
    <p class="form-field first_name pd-text required ">
        <input type="text" name="25492_61230pi_25492_61230" id="25492_61230pi_25492_61230" value="" class="text" size="30" maxlength="32" onchange="" placeholder="First Name *">
    </p>
    <div id="error_for_25492_61230pi_25492_61230" style="display:none"></div>
    <p class="form-field last_name pd-text required ">
        <input type="text" name="25492_61232pi_25492_61232" id="25492_61232pi_25492_61232" value="" class="text" size="30" maxlength="32" onchange="" placeholder="Last Name *">
    </p>
    <div id="error_for_25492_61232pi_25492_61232" style="display:none"></div>
    <p class="form-field company pd-text required ">
        <input type="text" name="25492_61234pi_25492_61234" id="25492_61234pi_25492_61234" value="" class="text" size="30" maxlength="100" onchange="" placeholder="Company *">
    </p>
    <div id="error_for_25492_61234pi_25492_61234" style="display:none"></div>
    <p class="form-field Mobile pd-text ">
        <input type="text" name="25492_61236pi_25492_61236" id="25492_61236pi_25492_61236" value="" class="text" size="30" maxlength="65535" onchange="" placeholder="Phone">
    </p>
    <div id="error_for_25492_61236pi_25492_61236" style="display:none"></div>
    <p class="form-field email pd-text required ">
        <input type="text" name="25492_61238pi_25492_61238" id="25492_61238pi_25492_61238" value="" class="text" size="30" maxlength="255" onchange="piAjax.auditEmailField(this, 25492, 61238, 12536766);" placeholder="Email *">
    </p>
    <div id="error_for_25492_61238pi_25492_61238" style="display:none"></div>
    <p class="form-field Territory_copy pd-select required ">
        <select name="25492_61240pi_25492_61240" id="25492_61240pi_25492_61240" class="select" onchange="" placeholder="Region *">
            <option value="" selected="selected"></option>
            <option value="465100">North America</option>
            <option value="465102">Latin America</option>
            <option value="465104">Europe</option>
            <option value="465106">Australasia</option>
            <option value="465108">ASPAC - South East Asia</option>
            <option value="465110">ASPAC - China</option>
            <option value="465112">Africa - West Africa</option>
            <option value="465114">Africa - North Africa &amp; Middle East</option>
            <option value="465116">Africa - Non Regional</option>
            <option value="465118">Africa - Southern Africa</option>
        </select>
    </p>
    <div id="error_for_25492_61240pi_25492_61240" style="display:none"></div>
    <p class="form-field comments pd-textarea required ">
        <textarea name="25492_61242pi_25492_61242" id="25492_61242pi_25492_61242" onchange="" cols="40" rows="10" class="standard" placeholder="Message *"></textarea>
    </p>
    <div id="error_for_25492_61242pi_25492_61242" style="display:none"></div>
    <p style="position:absolute; width:190px; left:-9999px; top: -9999px;visibility:hidden;">
        <input type="text" name="pi_extra_field" id="pi_extra_field" placeholder="Comments">
    </p>
    <input name="_utf8" type="hidden" value="☃">
    <p class="submit">
        <input type="submit" accesskey="s" value="Send Message">
    </p>
    <input type="hidden" name="hiddenDependentFields" id="hiddenDependentFields" value="">
</form>

北美 拉丁美洲 欧洲 澳大拉西亚 ASPAC-东南亚 ASPAC-中国 非洲-西非 非洲-北非和非洲;中东 非洲-非区域 非洲-南部非洲

var labels=document.querySelectorAll(“标签”);
var i=标签长度;
而(我--){
var标签=标签。项目(i);
var text=label.textContent;
label.parentNode.classList.contains(“必需”)&&(text+=“*”);
var nextElement=label.nextElementSibling;
//这就是我所改变的:
如果(nextElement.tagName==“选择”){
nextElement.options[0]。text=text;
}否则{
setAttribute(“占位符”,文本);
}
label.parentNode.removeChild(label);
}
var elements=document.querySelectorAll('.errors,.no label');
Array.prototype.forEach.call(元素,函数(el,i){
el.parentNode.removeChild(el);
});

某个名字

一些标签 北美 拉丁美洲 欧洲 澳大拉西亚 ASPAC-东南亚 ASPAC-中国 非洲-西非 非洲-北非和非洲;中东 非洲-非区域 非洲-南部非洲


您的html示例不包含
标记。我想,在执行javascript之后是html。你能提供源html吗?很抱歉,它确实删除了标签,而且你的代码工作得很好:)谢谢