【问题标题】:Why is it printing none in my views for the textarea I'm getting from html?为什么我从 html 获得的 textarea 在我的视图中没有打印?
【发布时间】:2021-09-21 04:06:53
【问题描述】:

在 HTML 中:

<div class="col-md-6">
 <div class="form-group">
  <label for="port_param1">Port Parameter 1</label>
   <textarea class="form-control" name ="port_param1" id="port_param1" rows="5" onkeyup="copy();"  
     placeholder="e.g. For Access Port mode: 
                       switch access vlan 10
                       For Trunk Port mode:
                       switch trunk native vlan 5
                       switch trunk allow vlan 5, 6">
   </textarea>
 </div>
</div>

在视图中:

portpara1 = request.POST.get('port_param1')
print(portpara1)

在这里,我的 html 中有一个文本区域,供用户输入大量文本。但是当我 request.POST.get 的 textarea 并打印它时,我收到了 none 的输出。即使我在文本区域中只输入一行单词,我仍然会得到none 的输出。那么如何正确获取用户在 html 上键入的文本以查看?还有在文本区域内,我如何确保在行之间,当我将文本检索到视图时,文本与\n 分隔,但用户在网络中键入只是按下回车键而不是输入@987654327 @。感谢有人可以提供帮助!

在 html 中更新(添加了一个额外的文本框):

<input type = "text" name = "portpara1" id = "portpara1">

脚本:

function copy()
{
   var port_param1 = document.getElementById("port_param1");
   port_param1.replace(/\r?\n/g, '\n')
   var portpara1 = document.getElementById("portpara1");
   portpara1.value = port_param1.value;
}  

【问题讨论】:

    标签: javascript html django-views


    【解决方案1】:

    请求使用 textareas 和使用属性名称而不是 id 的输入。所以你应该添加一个 name 属性并在你的代码中引用它。

    【讨论】:

    • 我有另一个问题,我可以提取输入来查看,但我有一个问题。例如,我在 textarea 中键入以下内容(第一行 123,第二行 234),当在我的视图中检索它时,我将在我的 powershell 中获得相同的输出。如何将以下内容更改为123\n234。基本上是\n 在每个新行之前?
    • 可能以不同的方式完成,但我认为最容易想到的是正则表达式。只需在 textarea 值的末尾添加.replace(/\r?\n/g, '\n'),就可以了。基本上,它将每个可见的新行替换为\n。让我知道这是否适合您。
    • 我设法做到了。但我用了这个replace(/(?:\r|\n|\r\n)/g,'\\n')
    • 也做得很好。第一个正则表达式对我来说效果很好。在我使用它的地方我有很多限制,比如在正则表达式和其他东西中没有组。
    • 哦,好吧。感谢您的帮助 :) 非常感谢,因为我目前是这方面的初学者
    猜你喜欢
    • 2017-08-22
    • 2022-01-22
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多