【问题标题】:How to create a form add-in at the click of a button?如何在单击按钮时创建表单加载项?
【发布时间】:2019-04-25 08:58:07
【问题描述】:

目前在我的实习期结束时为客户创建一个网站。 我正在寻找一个允许添加表单的现有部分的按钮。

由于 Javascript 中的一个函数,我尝试添加它,但是当我单击按钮时没有任何反应,但是当我在控制台中执行 console.log ('test') 时,你好

function dog_func ($atts) {
    $list=array(

    'Affenpinscher' => 'Affenpinscher',
    'Airedale Terrier' => 'Airedale Terrier',
    'Ariégeois' => 'Ariégeois',
    'Barbet' => 'Barbet',
    'Barbu Tchèque' => 'Barbu Tchèque' ,
    'Berger de Russie' => 'Berger de Russie',  
    'Berger des Pyrénées' => 'Berger des Pyrénées',
    'Berger des Shetland' => 'Berger des Shetland',
    'Berger du Caucase' => 'Berger du Caucase',
    'Berger du massif du Karst' => 'Berger du massif du Karst',
    'Berger finnois de Laponie' => 'Berger finnois de Laponie',
    'Berger Hollandais' => 'Berger Hollandais',
    'Berger Islandais' => 'Berger Islandais',
    'Bouvier de l\'Entlebuch' => 'Bouvier de l\'Entlebuch',
    'Bouvier des Ardennes' => 'Bouvier des Ardennes',
    'Bouvier des Flandres' => 'Bouvier des Flandres',
    'Boxer' => 'Boxer',
    'Autre' => 'Autre');

    echo '<div id="divFields">';    
    echo '<label for="chien" class="breed">Race du chien: 
    </label>';
    echo '<input id="chien" type="text" list="chiendata">';
    echo '<datalist id="chiendata" name="chiendata" >';
    echo '<label for="adresse">ou sélectionner dans la 
    liste</label>';
    echo '<select name="adresse" class="selected" id="adresse" 
    onChange="AjoutOptionAuSelect(this)"  style="width: -webkit- 
    fill-available;" size="1">';
    foreach($list as $p => $row){
    echo "<option  value='".$p."'>" . $row ."</option>" ; 
    }
    echo '</select>';
    echo '</datalist>';
    echo '<div>';
    echo '<label for="name" class="breed">Si autre préciser : 
    </label>';
    echo '</div>';
    echo '<div>';
    echo '<input type="text" name="dog">';
    echo '</div>';
    echo '</div>';

  }

    add_shortcode ('dog_api', 'dog_func');



    function dog_shortcode(){
        echo '<input type="button" class="add" value="Ajouter un chien" id="test" onClick="addField();">';

}
add_shortcode( 'dog_breed' , 'dog_shortcode');





function addField() {
     var field = "<input type='text' name='' value=''/>";
     document.getElementById('divFields').innerHtml += field;
     console.log('test');
}

我解释说我必须创建一个表格来为比赛添加狗,所以我尝试使用按钮添加我的选择,以添加 2 只狗、3 只、5 只狗的品种,无论如何, 我的选择是一个简码,可以将它插入到客户想要的 Elementor 中

【问题讨论】:

    标签: javascript php wordpress custom-fields


    【解决方案1】:

    为了在 div 中附加 html。

    function addField() {
         var field = "<input type='text' name='' value=''/>";
         // WITH JQuery
         $("#divFields").append(field);          
         // WITH JS
         document.getElementById('divFields').appendChild(field ); 
    }
    

    使用 jQuery 生活更轻松,您可以使用JQuery

    【讨论】:

    • 这不是 HTML 它是 HTML echo 是否仍然可以使用您的技术,但是我完全不知道 jQuery 是否可以帮助我?
    • ` var field ='=$php_field_value?>'; ` 这应该可以正常工作。
    • 我测试过:function addField() { var field = '= $atts ?>'; document.getElementById('divFields').appendChild(field); console.log('test'); }
    • and (function ($){ $('#divFields').click(function(){ console.log('coucou1'); var field = ""; console.log('coucou2'); $("#div").append(field); console.log('coucou3'); }) })(jQuery)
    • 第一次没有工作我得到一个错误:未捕获的类型错误:无法在“节点”上执行“appendChild”:参数 1 不是“节点”类型。在 addField (dog.js?ver=1.0.0:4) 在 HTMLInputElement.onclick ((index):1)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 2012-06-21
    相关资源
    最近更新 更多