djangoにmarkdownエディタとして、easyMDEを導入しました。導入自体は非常に簡単で、下記のコードにより追加できました。
base.html
html
1<link rel="stylesheet" href="https://unpkg.com/easymde/dist/easymde.min.css"> 2<script src="https://unpkg.com/easymde/dist/easymde.min.js"></script> 3<script> 4 var easyMDE = new EasyMDE({ 5 }); 6</script>
medel.py
python
1class Post(models.Model): 2 title = models.CharField(verbose_name='タイトル', max_length=255) 3 content = models.TextField() 4 5class Comment(models.Model): 6 post = models.ForeignKey(Post, on_delete=models.CASCADE, related_name='comments') 7 author = models.ForeignKey(User, on_delete=models.CASCADE) 8 text = models.TextField()
フォームもdjangoのフォーム機能をそのまま使い、以下のようにしました。
forms.py
python
1class PostForm(ModelForm): 2 class Meta: 3 model = Post 4 fields = ['title','content'] 5 6 7class CommentForm(ModelForm): 8 class Meta: 9 model = Comment 10 fields = ['text']
テンプレートもPost、Comment共に以下の通りです。
python
1<form action="" method="POST"> 2 {{ form.as_p }} 3 {% csrf_token %} 4 <button type="submit">送信</button> 5</form>
ところが、Postフォームはsubmitが正常に動作するのですが、Commentモデルはフォーム送信のため、ボタンをクリックしても何も反応しなくなってしまいました(easyMDEを導入する前は正常に動いてました)。
そこで、Chromの検証機能でconsoleを見てみると、以下のようなエラーメッセージが出ていました。
console
1An invalid form control with name='text' is not focusable
この問題を解決できずに困っています。
どなたかアドバイス頂けないでしょうか?
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。