表单验证中的文本输出超出输出消息框

时间:2015-04-25 17:32:37

标签: javascript html css forms

我有一个表单,在提交后它会在一个框中显示结果,但是当我在文本框(textarea)中输入太多信息(文本)时,它会在输出中运行。我认为它可以解决的解决方案是修改id ="输出"的样式。在页面底部到宽度:450px,但那不起作用......还有其他建议吗? Here's the link to the form

这里是代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta content="computer repair, laptop repair, wireless installation, printer installation, printer repair, system administration, website design, web administration, logo design, web application development, computer repair miami fl, web design miami fl, system administration miami fl" name="keywords"> 
    <meta name="Computer Soloution for Small Business and Home Users, Miami, Florida" content="">
    <meta name="author" content="">
    <link rel="icon" href="../../favicon.ico">

    <title>Contact Us</title>

    <!-- Bootstrap core CSS -->
    <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">

    <!-- font awesome -->
    <link rel="stylesheet" href="font-awesome/css/font-awesome.min.css">
    <!-- font mfizz -->
    <link rel="stylesheet" href="path/to/font-mfizz/font-mfizz.css">
    <link rel="stylesheet" href="icons/flaticon.css">


    <!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
    <!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
    <script src="../../assets/js/ie-emulation-modes-warning.js"></script>

    <!-- custome css style sheet -->
    <link href="carosel_style.css" rel="stylesheet">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->

    <!-- Custom styles for this template -->
    <link href="carousel.css" rel="stylesheet">

    <!-- google analytics code -->
    <script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61593038-1', 'auto');
  ga('send', 'pageview');

        //form validation and submition
        function validateForm()
        {
            var fullName = document.forms['myForm']['name'].value;
            var emailAdd = document.forms['myForm']['email'].value;
            var subject = document.forms['myForm']['subject'].value;
            var message = document.forms['myForm']['message'].value;
            var outputMsg = "";

            var emailReg = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

            //validating form fields
            if(fullName == null || fullName == "") {
                outputMsg += "Name field can not be empty!\n";
            }
            if(emailAdd == null || emailAdd == "") {
                outputMsg += "Email field can not be empty!\n";
            }
            //if email field not empty check for valid email add
            if(emailAdd != "" && !emailReg.test(emailAdd)) {
                outputMsg += "Enter a valid email address!\n";

            }
            if(message == null || message == "") {
                outputMsg += "Text field can not be empty!\n";
            }   
            if(outputMsg != "") {
                alert(outputMsg);
                return false;
            }   

            //sending data fields to php form
            var params = "name="+fullName+"&email="+emailAdd+"&subject="+subject+"&message="+message;

            var xmlhttp;
            if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari
                    xmlhttp=new XMLHttpRequest();
            }
            else
            {// code for IE6, IE5
                    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }

                xmlhttp.open("POST", "contact.php", true);
                xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

            xmlhttp.onreadystatechange=function()
            {
                if (xmlhttp.readyState==4 && xmlhttp.status==200)

                {
                    document.getElementById("output").innerHTML=xmlhttp.responseText;
                }
            }

            xmlhttp.send(params);

            //change the style of "ouput" id
            document.getElementById("output").style.border = "solid 1px #5A5A5A";
            document.getElementById("output").style.padding = "10px";
            document.getElementById("output").style.width = "450px";
        }       

    </script>
  </head>
<!-- NAVBAR
================================================== -->
  <body>
    <div class="navbar-wrapper">
      <div class="container">

        <nav class="navbar navbar-inverse navbar-static-top">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              <a class="navbar-brand" href="#">
                    <img id="main-logo" src="img/title_logo1.png">
              </a>
            </div>
            <div id="navbar" class="navbar-collapse collapse">
              <ul class="nav navbar-nav">
                <li class="#"><a href="index.html">Home</a></li>
                <li><a href="about.html">About</a></li>
                <li><a href="contact.html">Contact</a></li>
                <li><a target="_blank" href="http://pctechtips.org">Blog</a></li>
                <li class="dropdown">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Services <span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="index.html#computer">Comuter Repair</a></li>
                    <li><a href="index.html#system">System Administration</a></li>
                    <li><a href="index.html#webdesign">Website Design</a></li>

                  </ul>
                </li>
              </ul>
            </div>
          </div>
        </nav>

      </div>
    </div>


    <!-- Carousel
    ================================================== -->
    <div id="myCarousel" class="carousel slide" data-ride="carousel">
     <div class="carousel-inner" role="listbox">
        <div class="item active">
          <img src="img/computer-keyboard-closeup-header.jpg" alt="First slide">
          <div class="container">
            <div class="carousel-caption">
              <h1>COMPUTER SOLUTIONS FOR HOME AND SMALL BUSINESS.</h1>
              <p>Professional IT Support for Home Office, and Small Bussiness. Computer Repair, Printer Repair, Network Suport, System Administration, and Web Design</p>
              <p><a class="btn btn-lg btn-primary" href="#" role="button">Get a Quote</a></p>
            </div>
          </div>
        </div>        
      </div>      
    </div>

    <!-- /.carousel -->


    <!-- Marketing messaging and featurettes
    ================================================== -->
    <!-- Wrap the rest of the page in another container to center all the content. -->

    <div class="container marketing">
        <div class="hero-unit" style="padding:20px 100px">
            <h1>Contact Us</h1>
            <p>Please send us a description of your computer problems and a we will be in touch as soon as possible with a quote:</p>       
        </div>      
      <div class="row">
          <div class="col-sm-6">
            <div class="my-form">
                <form class="form-horizontal" name="myForm"  >
          <div class="form-group">
            <label for="inputEmail3" class="col-sm-2 control-label">Name:</label>
            <div class="col-sm-8">
              <input type="name" name="name" class="form-control" id="inputEmail3" placeholder="Name">
            </div>
          </div>
          <div class="form-group">
            <label for="inputPassword3" class="col-sm-2 control-label">Email:</label>
            <div class="col-sm-8">
              <input type="email" name="email" class="form-control" id="inputPassword3" placeholder="Email">
            </div>
          </div>
          <div class="form-group">
            <label for="inputPassword3" class="col-sm-2 control-label">Subject:</label>
            <div class="col-sm-8">
              <input type="text" name="subject" class="form-control" placeholder="Subject">
            </div>
          </div>

          <div class="form-group">
              <label for="inputPassword3" class="col-sm-2 control-label">Text:</label>
              <div class="col-sm-8">
                <textarea name="message" class="form-control" rows="7" placeholder="Text"></textarea>
              </div>    
          </div>
          <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
              <button type="button" class="btn btn-default" onclick="validateForm()">Send</button>
            </div>
          </div>    
            </div> 
        </form>
          </div>
          <div class="col-sm-6">

             <img id="google-img" src="https://maps.googleapis.com/maps/api/staticmap?center=Miami+Downtown,Miami,FL&zoom=13&size=500x350&maptype=roadmap&markers=color:red%7CMiami+Downtown,Miami,FL">
          </div>         
      </div><!-- /.row -->
      <div class="row">  <!-- output message rown -->           
            <div class="col-sm-6" >
                    <!-- display form result message here! -->
                    <p id="output" >
                    </p>
            </div>  
            <div class="col-sm-6">
                <!--nothing goes here!-->
            </div>      
        </div>

      <!-- FOOTER -->
      <footer>            
        <p class="pull-right"><a href="#">Back to top</a></p>
        <p>&copy; 2015 Jorge L. Vazquez &middot;<a href="#">Privacy</a> &middot; <a href="#">Terms</a></p>
      </footer>
    </div>

    </div><!-- /.container -->


    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script src="bootstrap/js/bootstrap.min.js"></script>
    <script src="bootstrap/assets/js/docs.min.js"></script>
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
  </body>
</html>

3 个答案:

答案 0 :(得分:2)

p元素&#39;输出&#39;有内容需要的

#output{
 word-wrap:break-word;
}

break-word允许单词断开并换行到下一行

https://developer.mozilla.org/en-US/docs/Web/CSS/word-wrap

答案 1 :(得分:0)

这里有几个选项。在框中,您可以尝试使用CSS:

overflow-x: scroll;

这样您就可以在框中向右/向左滚动,而不是让它流血。

如果你想在不滚动的情况下强制它换行:

 word-wrap: break-word;

答案 2 :(得分:0)

试;

<p id="output" style="overflow: scroll; word-wrap:break-word;"></p>