我正在尝试编辑一些JavaScript代码,但我没有使用JavaScript的经验。
我有这个HTML表单,我正在尝试添加额外的输入:
<form method="post" action="php/subscribe.php" name="subscribeform" id="subscribeform">
<input type="text" name="email" placeholder="Enter your email address to get notified" id="subemail" />
<input type="text" name="personname" placeholder="Enter your name" id="personname" />
<input type="submit" name="send" value="Notify me" id="subsubmit" class="btn2" />
</form>
<!-- subscribe message -->
<div id="mesaj"></div>
<!-- subscribe message -->
</div>
表单随后将数据推送到我的PHP文件。但是,我使用的主题还包含以下JavaScript文件:
jQuery(document).ready(function(){
$('#subscribeform').submit(function(){
var action = $(this).attr('action');
$("#mesaj").slideUp(750,function() {
$('#mesaj').hide();
$('#subsubmit')
.after('')
.attr('disabled','disabled');
$.post(action, {
email: $('#subemail').val()
personname: $('#personname').val() // THIS STOPS THE FILE FROM WORKING
},
function(data){
document.getElementById('mesaj').innerHTML = data;
$('#mesaj').slideDown('slow');
$('#subscribeform img.subscribe-loader').fadeOut('slow',function(){$(this).remove()});
$('#subsubmit').removeAttr('disabled');
if(data.match('success') != null) $('#subscribeform').slideUp('slow');
}
);
});
return false;
});
最初主题只有电子邮件表单上的一个输入。但是,当我尝试将personname
输入添加到表单和JavaScript文件时,它会阻止JavaScript工作。我没有在主页面内进行PHP渲染,而是重定向到空白的PHP页面echo
成功消息。
就像我之前说的,我对Javascript非常缺乏经验,所以任何帮助都会受到赞赏。
答案 0 :(得分:1)
看起来你错过了一个逗号:
$.post(action, {
email: $('#subemail').val(), <--- Comma here
personname: $('#personname').val() // THIS STOPS THE FILE FROM WORKING
},
这些卷曲框架{ ... }
(包括括号)中的Javascript就是所谓的对象。如果你之前看过JSON格式的数据,那么你应该对它很熟悉。语法基本上是键和值,冒号将它们分开,逗号分隔键值对。