У меня есть шаблон, где я размещаю некоторые изображения и комментарии, связанные с изображением.
Я хочу разрешить пользователям добавлять комментарии к одному изображению, отображаемому непосредственно в шаблоне.Затем, когда пользователь заполняет свой комментарий, я хотел бы, чтобы все остальные поля, кроме текста, автоматически заполнялись.
Вопрос: Как определить значение поля формы с помощью Javascript?
Пример идиота: {{ form.field1.value }} = jsArray[0]
Дополнительный пример:
HTML
<button onclick="setImage()">Fill image value</button>
<form method="post" novalidate>
{% csrf_token %}
<input type="text" name="image" id="id_image" value="" maxlength="30" readonly>
<input type="hidden" name="user" id="id_user" {% if form.user.value != None %}value="{{ form.user.value|stringformat:'s' }}"{% endif %} maxlength="30" readonly>
{{ form.text }}
<button type="submit">Submit</button>
</form>
JS
function setImage() {
document.getElementById("id_image").value = imageObjectTable[0];
//imageObjectTable[0] is one object of the model "ImageModel"
}
Django - модели.py
class ImageModel(models.Model):
# Create your models here.
user = models.ForeignKey(UserModel, on_delete=models.CASCADE, null=True)
image = models.ImageField(('image'),
max_length=IMAGE_FIELD_MAX_LENGTH,
upload_to='.')
date_taken = models.DateTimeField(('date taken'),
null=True,
blank=True,
help_text=('Date image was taken; is obtained from the image EXIF data.'))
class Comment(models.Model):
image = models.ForeignKey(ImageModel, related_name='comments', on_delete=models.CASCADE)
user = models.ForeignKey(UserModel, on_delete=models.CASCADE, null=True)
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
approved_comment = models.BooleanField(default=False)
Django - Forms.py
class CommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = ('user','image', 'text', )
=> Когда я запускаю функцию setSmage JS, значение хорошо заполняется в HTML, но когда я отправляю форму, это не работает: (
Большое спасибо за вашу помощь:)