У меня есть метка HTML, и я бы хотел изменить ее текст во время выполнения. Я знаю, что могу использовать innerHTML
, который работает, но почему он просто просто добавляет мое сообщение перед уже установленным текстом метки.Изменить текст метки формы во время выполнения
PHP:
<label for="hp_display" id="addToHP_<?php echo $x; ?>"></label><?php echo $addTo; ?>homepage: </label><input type="checkbox" id="hp_display_<?php echo $x; ?>" <?php echo $check; ?> onclick="addToHome('<?php echo md5($product['product_id']); ?>','<?php echo $add; ?>','<?php echo $x; ?>')" />
JAVASCRIPT:
function addToHome(id,a,n){
$.ajax({
url:'func/addToSlider.php',
type:'POST',
data:{type:a,id:id},
beforeSend: function(){
document.getElementById('addToHP_'+n).innerHTML = '';
document.getElementById('addToHP_'+n).innerHTML = 'Updating';
},
success:function(e){
if(e === '1'){
document.getElementById('addToHP_'+n).innerHTML = '';
if(a === 'remove'){
document.getElementById('addToHP_'+n).innerHTML = 'Add to homepage';
}else{
document.getElementById('addToHP_'+n).innerHTML = 'Remove from homepage';
}
}else{
alert('There has been a server changing your file, please try again');
}
}
});
}
Это выглядит сложным, но верно innerHTML
или JQuery-х .html('')
вместо этого следует заменить текст добавления текста. Я мог бы просто обновить страницу об успехе ajax, но я думаю, что изменение текста ярлыка более удобно.
Я думаю, что если вы используете JQuery для того, что вы описали, вы просто хотите использовать .text() – user602525