Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript div标签和输入标签的换行调整_Javascript_Html - Fatal编程技术网

Javascript div标签和输入标签的换行调整

Javascript div标签和输入标签的换行调整,javascript,html,Javascript,Html,我在使用DIV标记和表单输入字段时遇到一些问题。我使用javascript获取输入字段的值。Javascript工作正常。它获取输入字段值并显示在DIV标记中。问题是,当我给出一个长输入或长句子时,它会按原样显示在div标记中。我希望它不是以一行的形式显示,而是以段落的形式显示。这是我的密码 <script> function myFunc(){ var str = document.myform.aaa.value; document.getElementById(

我在使用DIV标记和表单输入字段时遇到一些问题。我使用javascript获取输入字段的值。Javascript工作正常。它获取输入字段值并显示在DIV标记中。问题是,当我给出一个长输入或长句子时,它会按原样显示在div标记中。我希望它不是以一行的形式显示,而是以段落的形式显示。这是我的密码

<script>
function myFunc(){
    var str = document.myform.aaa.value;
    document.getElementById('mydiv').innerHTML=str;
}
</script>



<form>
<input type="text" name="aaa" />
<input type="button" value="Post" onclick="myFunc();" >
</form>

<div id="mydiv" width="500px" height="300px">Old text</div>
它以单行而不是段落格式显示。我希望它以这种形式显示上述句子:

hello there, how are you hello there, 
how are youhello there, how are youhello 
there.

我自己已经把它解决了。我的意思是,如果我写一个有空格的句子,它可以很好地工作,但是如果有一长行没有空格的字母,那么它就不工作了。我想要的是,我可以输入空格和不输入空格,这两种方式都可以。

尝试使用css设置
宽度和
高度,而不是属性


这与javascript无关。默认情况下,DIV标记将扩展到其父元素的100%

如果将div的宽度设置为特定的百分比或像素宽度,则该div的内容将相应地换行

您可以使用CSS来定义宽度,但必须知道要设置的宽度

#mydiv {
    width:50%; //I just guessed at this number
}

或者,您可以使用javascript来设置它。(尽管最好使用CSS进行设置)


所以给div设置一个宽度。@j08691。。。我将其宽度设置为500px,高度设置为300px。还是不行也许你的宽度太宽了。在这里工作很好@j08691。。。我已经检查了你的链接。它在那里工作。但是我在Firefox 18、Opera、Safari中尝试了我的代码,但没有用。你有其他可能影响内容的CSS或JavaScript吗?@squeezebox。。。我试过以上所有的方法,但没有用。根据你告诉我的方法,这就是我试图让它工作,但不工作的方式。根据你最近关于没有空格的长单词的评论:默认情况下,浏览器不会为了使它换行而打断一个单词。相反,它将在下一个空格或单词处换行。没有空格的很长字符串将被解释为单个单词。这种事情在现实世界中发生的几率非常低。如果您仍然需要进行换行,可以使用单词wrap:break-word。谢谢@Gabe@Gabe... 不行,兄弟。这看起来很容易,但什么都不管用。你说得对。但我建议您编写一个小代码,并在任何浏览器中尝试,而不是使用Fiddle。应抓取输入字段值,且容器div不应溢出。你自己会看到的,不会的work@Gabe.. 谢谢你的帮助。你知道吗?如果一个句子中有空格,它就会起作用。但如果一个句子中没有空格,它就不起作用。例如:它与“你好,你好吗?”。但它不适用于“HelloHowareYou HelloHowareYou HelloHowareYou HelloHowareYou HelloHowareYou HelloHowareYou”您必须使用
单词包装:break word
来修复此问题
<div id="mydiv" style="width: 200px; height: 200px;">Old text</div>
.comments {
    width: 200px;
    height: 200px;
}

<div id="mydiv" class="comments">Old text</div>
word-wrap:break-word
#mydiv {
    width:50%; //I just guessed at this number
}
#mydiv {
    width:100px; 
}
document.getElementById('mydiv').style = "width:50%';