Javascript 未捕获的TypeError:document.getElementById(…).value.trigger不是函数
我编写了一个函数,用于在控制台上显示所选表单项,并在用户更改其选择时触发 我在这件事上犯了错误Javascript 未捕获的TypeError:document.getElementById(…).value.trigger不是函数,javascript,Javascript,我编写了一个函数,用于在控制台上显示所选表单项,并在用户更改其选择时触发 我在这件事上犯了错误 options-general.php?page=my-unique-identifier:397 Uncaught TypeError: document.getElementById(...).value.trigger is not a function 这是我的密码 function my_plugin_options() { if ( !current_user_can( 'man
options-general.php?page=my-unique-identifier:397 Uncaught TypeError: document.getElementById(...).value.trigger is not a function
这是我的密码
function my_plugin_options() {
if ( !current_user_can( 'manage_options' ) ) {
wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
}
echo '<div class="wrap">';
echo ' <h3>Form:</h3>
<form>
Provide PDF Link:<br>
<input type="url" id="url" name="url" placeholder="http://">
<br><br>
Select Flipbook Theme:<br>
<input type="radio" id="theme" name="theme" value="bible" checked> Bible<br>
<input type="radio" id="theme" name="theme" value="magazine"> Magazine<br>
<input type="radio" id="theme" name="theme" value="magazine single"> Magazine Single<br><br>
<button type="button">Get Code</button><br>
</form>
<div id="code" style="background-color:green;">
</div>
<div id="preview">
<h3>Preview:</h3>
</div>
<script>
jQuery(document).ready(function($){
var url = document.getElementById("url").value.trigger("change");
var theme = document.getElementById("theme").value.trigger("change");
console.log(theme);
});
</script>
';
echo '</div>';
}
函数我的插件选项(){
如果(!当前用户可以('管理选项')){
wp_die(u uu('您没有足够的权限访问此页面');
}
回声';
“回声”表格:
提供PDF链接:
选择“动画书”主题:
圣经
杂志
单曲杂志
获取代码
预览:
jQuery(文档).ready(函数($){
var url=document.getElementById(“url”).value.trigger(“更改”);
var theme=document.getElementById(“主题”).value.trigger(“更改”);
console.log(主题);
});
';
回声';
}
您的问题在于:
var url = document.getElementById("url").value.trigger("url");
当您访问的属性.value
时,您将拥有一个字符串
。字符串
将没有可作为函数调用的.trigger
属性
下面是正在发生的事情的澄清:
var element = document.getElementById("url"); // some DOM node
var val = element.value; // a string like "hello"
val.trigger("url"); // ERROR!
val.trigger; // undefined
// Essentially you're doing this:
undefined(); // ERROR!
更新
看起来您正试图检测一个已更改的值,并在发生这种情况时执行某些操作。尝试类似的方法(未经测试):
你的问题是:
var url = document.getElementById("url").value.trigger("url");
当您访问的属性.value
时,您将拥有一个字符串
。字符串
将没有可作为函数调用的.trigger
属性
下面是正在发生的事情的澄清:
var element = document.getElementById("url"); // some DOM node
var val = element.value; // a string like "hello"
val.trigger("url"); // ERROR!
val.trigger; // undefined
// Essentially you're doing this:
undefined(); // ERROR!
更新
看起来您正试图检测一个已更改的值,并在发生这种情况时执行某些操作。尝试类似的方法(未经测试):
您对
.trigger(“url”)
有什么期望trigger
是一种jQ
包装对象的方法@雷昂达布:这是一个语法错误,我刚刚纠正了。我仍然收到相同的错误。“trigger
是jQ
包装对象的一种方法!”<代码>$(“#url”).trigger('change')您对.trigger(“url”)
有什么期望trigger
是一种jQ
包装对象的方法@雷昂达布:这是一个语法错误,我刚刚纠正了。我仍然收到相同的错误。“trigger
是jQ
包装对象的一种方法!”<代码>$(“#url”).trigger('change'),因此我认为应该首先检测到更改,然后获取值。感谢您的澄清。我能够确定问题所在,但我不能完全确定您对代码的意图。您可能需要类似于jQuery(#url”).on(“change”,function(){var newValue=this.value;/*在值更改时执行其他操作…*/}
,因此我认为应该首先检测更改,然后获取值。感谢您的澄清。我能够确定问题所在,但我不能完全确定您对代码的意图。您可能需要类似于jQuery(#url”).on(“change”,function(){var newValue=this.value;/*在值更改时执行其他操作…*/}