JavaScript onClick()事件无法正常工作

时间:2015-06-15 11:51:48

标签: javascript onclick

我用JavaScript创建了一个函数来添加页面中的其他字段,但是当我点击应触发事件的按钮时,没有任何事情发生。此外,我没有看到Fire-bug

的任何错误
<!--add other charge fields button-->
<div class="form-group" id="newf">
    <button type="button" class="btn btn-default"  name="new" onclick="addField()">
        <?php echo $lang['add-field-button']; ?>
    </button>
</div>

JavaScript函数位于同一页面中:

<!-- script to add more fields -->
<script type="text/javascript">
function addField() {
var field =
'<fieldset>'+
'<legend><?php echo $lang['addmonth-add-charge'] ?></legend>'+
'<div class="form-group">'+
'<label for="charge"><?php echo $lang['charge-formlabel']; ?></label>'+
'<input type="text" id="charge" placeholder="<?php echo $lang['placeholder-addcharge']; ?>" class="form-control" name="charge[]">'+
'<p class="help-block"><?php echo $lang['charge-form-description']; ?></p>'+
'</div>'+
'<!--/end charge-->'+
'<div class="form-group">'+
'<label for="description"><?php echo $lang['description-formlabel']; ?></label>'+
'<textarea class="form-control" rows="5" id="description" name="description[]" placeholder="<?php echo $lang['placeholder-adddescription']; ?>" ></textarea>'+
'<label class="control-label" for="description"><?php echo $lang['description-formlabel']; ?></label>'+
'<div class="controls">'+
'<textarea class="span8" rows="5" id="description" name="description[]" placeholder="<?php echo $lang['placeholder-adddescription']; ?>" ></textarea>'+
'</div>'+
'<!--/end description-->'+
'<div class="form-group input-group">'+
'<label for="value"><?php echo $lang['value-formlabel']; ?></label>'+
'<span class="input-group-addon">$</span>'+
'<input type="text" id="value" placeholder="<?php echo $lang['placeholder-addvalue']; ?>" class="form-control" name="value[]"/>'+
'</div>'+
'<!--/end value-->'+
'</fieldset>';
$("#newf").before(field);
}
</script>

3 个答案:

答案 0 :(得分:1)

谢谢你现在有效,问题是jQuery我把它包含在脚本之后 谢谢大家

答案 1 :(得分:-1)

在每个撇号之前需要反斜杠,以免关闭字符串:

<!-- script to add more fields -->
<script type="text/javascript">
function addField() {
var field =
'<fieldset>'+
'<legend><?php echo $lang[\'addmonth-add-charge\'] ?></legend>'+
'<div class="form-group">'+
'<label for="charge"><?php echo $lang[\'charge-formlabel\']; ?></label>'+
'<input type="text" id="charge" placeholder="<?php echo $lang[\'placeholder-addcharge\']; ?>" class="form-control" name="charge[]">'+
'<p class="help-block"><?php echo $lang[\'charge-form-description\']; ?></p>'+
'</div>'+
'<!--/end charge-->'+
'<div class="form-group">'+
'<label for="description"><?php echo $lang[\'description-formlabel\']; ?></label>'+
'<textarea class="form-control" rows="5" id="description" name="description[]" placeholder="<?php echo $lang[\'placeholder-adddescription\']; ?>" ></textarea>'+
'<label class="control-label" for="description"><?php echo $lang[\'description-formlabel\']; ?></label>'+
'<div class="controls">'+
'<textarea class="span8" rows="5" id="description" name="description[]" placeholder="<?php echo $lang[\'placeholder-adddescription\']; ?>" ></textarea>'+
'</div>'+
'<!--/end description-->'+
'<div class="form-group input-group">'+
'<label for="value"><?php echo $lang[\'value-formlabel\']; ?></label>'+
'<span class="input-group-addon">$</span>'+
'<input type="text" id="value" placeholder="<?php echo $lang[\'placeholder-addvalue\']; ?>" class="form-control" name="value[]"/>'+
'</div>'+
'<!--/end value-->'+
'</fieldset>';
$("#newf").before(field);
}
</script>

答案 2 :(得分:-1)

Javascript将在您的onclick之前中断。 因为你混合了一些Jquery代码。 简而言之,您的问题在其他地方

检查webbrowser的调试器(cmd + alt + i on ffow&amp; chrome)