![](/img/trans.png)
[英]Uncaught TypeError: e.type is not a constructor and trial level node is missing the "type" parameter errors
[英]jQuery $.post TypeError: e.type is not a function
我正在尝试为ZetaBoards论坛软件构建一个反馈脚本,我创建了一个$ .post函数,当我尝试通过单击“提交”按钮提交表单时,它仅返回“ TypeError:e.type不是函数”在萤火虫中。
这是我的代码:
<script type="text/javascript">
var forumID = '1701794';
if (location.href.indexOf('/profile/') !== -1) {
$('table.profile:last').after('<form id="feedback_form"><table class="profile" id="feedback"><thead><tr><th colspan="4">Feedback</th></tr></thead><tbody><tr><th colspan="4">Overall Rating: # (Positive: #, Neutral: #, Negative: #)</th></tr><tr><td colspan="4">Submit feedback: <input type="text" name="comment" size="100" /> <input type="radio" name="feed_rate" value="3">0 <input type="radio" name="feed_rate" value="1">1 <input type="radio" name="feed_rate" value="2">2 <button type="button">Submit</button></td></tr><tr><th>Rating</th><th>Comment</th><th>From</th><th>Date</th></tr></tbody></table></form>');
var profileID = window.location.href.split('profile/')[1].split('/')[0];
$.get(main_url + 'forum/' + forumID + '/', function (data) {
$('table.posts:not(#announcement_list) tr[class*="row"]', data).each(function () {
var userID = $(this).find('td.c_cat-title a').text().split('~')[0];
var rating = $(this).find('td.c_cat-title a').text().split('~')[1];
var comment = $(this).find('div.description').text();
var userHref = $(this).find('td.c_cat-starter a').attr('href');
var userText = $(this).find('td.c_cat-starter a').text();
var date = $(this).find('div.t_lastpostdate').text();
if (profileID === userID) $('#feedback tbody').append('<tr><td>' + rating + '</td><td>' + comment + '</td><td><a href="' + userHref + '">' + userText + '</a></td><td>' + date + '</td></tr>');
});
});
$('#feedback button').click(function () {
var userID = window.location.href.split('profile/')[1].split('/')[0];
var description = $('input[name="comment"]').val();
var rating = $('input[name="feed_rate"]:checked').val();
var title = userID + '~' + rating;
$.get(main_url + 'post/?type=1&mode=1&f=' + forumID, function (data) {
var ast = $('input[name="ast"]', data).val();
var xc = $('input[name="xc"]', data).val();
$.post(main_url + 'post/', $.extend({
mode: 1,
type: 1,
ast: ast,
f: forumID,
xc: xc,
sd: 1,
title: title,
description: description,
post: description + '~' + title
}));
});
});
}
</script>
这是我使用的地方: http : //s1.zetaboards.com/Cory/profile/62973/
使用测试帐户登录:
用户名:Test
密码:Test1
您正在使用值为1覆盖内置的jQuery函数$.type
。$ .post调用中$.extend({})
的用途是什么? 这就是导致错误的原因。
替换为:
$.post(main_url + 'post/', {
mode: 1,
type: 1,
ast: ast,
f: forumID,
xc: xc,
sd: 1,
title: title,
description: description,
post: description + '~' + title
});
不使用第二个参数调用$.extend()
将覆盖jQuery对象的默认属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.