Javascript 根据传递的url参数单击表单按钮

Javascript 根据传递的url参数单击表单按钮,javascript,jquery,django,Javascript,Jquery,Django,很长一段时间以来,我一直在努力使这项工作正常进行,但似乎无法使其正常进行- 我的x.html- <div class="col-lg-2 col-lg-offset-4"> <a href="#add" id="addform" role="button" class="btn btn-info pull-right" data-toggle="modal" style="margin-top:20px">Add Contract</a> &l

很长一段时间以来,我一直在努力使这项工作正常进行,但似乎无法使其正常进行- 我的x.html-

<div class="col-lg-2 col-lg-offset-4">
        <a href="#add" id="addform" role="button" class="btn btn-info pull-right" data-toggle="modal" style="margin-top:20px">Add Contract</a>
</div>
{% include "a_bs3.html" with form_title="Add :" form_btn="Add" form_id="add" ajax="True" %}
<script>
$(document).ready(function() {
    var check = location.hash;
    if (check == "trigger") {
        //button trigger even though you do not click on it
        $('#addform').click();
    }
});
</script>

{%include“a_bs3.html”和form\u title=“Add:”form\u btn=“Add”form\u id=“Add”ajax=“True”%%
$(文档).ready(函数(){
var check=location.hash;
如果(检查==“触发器”){
//按钮触发,即使您没有点击它
$('#addform')。单击();
}
});
每当url包含值“trigger”时,我试图触发此“Add:”表单按钮,但该按钮不是自动单击的,我做错了什么?
如果手动单击“添加:”,则表单将正常打开。

用户jquery
触发器
函数<代码>单击功能用于覆盖单击事件。那不是你想要的。要手动触发事件,请使用

示例代码

$(文档).ready(函数(){
$(“#单击我”)。单击(函数(){alert(“clicked”);});
$(“选择”).change(函数(){
if($(this).val()==3){
$('clickME')。触发器('click');
}
});
});


可点击按钮 点击我
选择框。选择3时,将触发单击事件 1. 2. 3. 4. 5.
我将创建一个模块化设计,使您能够使用DOM ID更新
处理程序
对象,并为每个对象获得不带条件的无限数量的按钮

//键:按钮id,值:回调函数
//这使我们能够在按钮范围之外重用功能。
常量处理程序={
傅:()=>{
警报(“foo”)
},
酒吧:()=>{
警报(“条”)
},
baz:()=>{
警报(“baz”)
}
}
//自动绑定所有[数据可操作]按钮
让$buttons=$(“[data actionable]”);
$按钮。每个((i,按钮)=>{
$(按钮).on(“单击”,处理程序[button.dataset.actionable]);
})
//在更改时触发处理程序,而不考虑按钮-关注点分离。
$(“.select”).on(“更改”,(e)=>{
设target=e.currentTarget;
处理程序[target.value].apply(null);
});
按钮{}

福
酒吧
巴兹
选择一些。。。
福
酒吧
巴兹

您的url结构是什么。location.hash表示url中
之后的内容,即()是,这是正确的-我正在传递/abc#trigger更新代码。触发器字符串前有一个#<代码>如果(check==“#trigger”)
检查将只包含我认为是的触发器-正如在silickaes commentyes中提到的那样“#trigger”起作用,我认为location.hash将只传递触发器。谢谢
$(document).ready(function() {
    var check = location.hash;
    if (check == "#trigger") {
        //triggering click event on #addform
        $('#addform').trigger('click');
    }
});