2013-07-10 3 views
1

Я снова здесь за тот же вопрос.Как распечатать результат в последовательном текстовом поле?

Теперь моя старая проблема решена. У меня есть два файла index.html и code.js 1) index.html

<html> 
<head> 
<title> perl </title> 
<link rel="stylesheet" href="http://code.guru99.com/css/1140.css" type="text/css" media="screen" /> 
     <link rel="stylesheet" href="http://code.guru99.com/css/styles.css" type="text/css" media="screen" /> 
     <script src="http://code.guru99.com/php/lib/codemirror.js"></script> 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">></script> 
     <link rel="stylesheet" href="http://code.guru99.com/Sanjay/lib/codemirror.css" type="text/css" media="screen" /> 
     <script src="code.js"></script> 
     <script type="text/javascript" src="http://code.guru99.com/perl/perl.js"></script> 
<style> 
.CodeMirror { 
    border: 1px solid #eee; 
    height: auto; 
    width : 600px; 
} 
.CodeMirror-scroll { 
    height: auto; 
    overflow-y: hidden; 
    overflow-x: auto; 
} 
</style> 
</head> 
<body> 
Integer : whole numbers e.g. -3, 0, 69. The maximum value of an integer is platform-dependent. On a 32 bit machine, its usually around 2 billion. 64 bit machines usually have larger values. The constant PHP_INT_MAX is used to determine the maximum value. 
<pre class="codeguru">say 'hi';</pre> 
Let us now look at how PHP determines the data type depending on the attributes of the supplied data. 
<pre class="codeguru">say 'hello';</pre> 
Floating point numbers 
<pre class="codeguru">say 'you r amazing';</pre> 
Character strings 
<pre class="codeguru">say 'i am fine';</pre> 
</div> 
<form class="hidden code-box" method="GET" name="sample"> 
<div dir="ltr"><textarea class="php" name="codeguru"></textarea></div> 
<input type="button" value="Run" /> 
</br></br> 
Output:</br></br> 
    <textarea id="print-result" disabled="true" cols="77"></textarea></br> 
</form></div> 
</body> 
</html> 

и code.js содержат следующий код

$(document).ready(function() 
{ 
    $('pre.codeguru').each(function() 
    { 
      var pre = this; 
      var form = $('form[name=sample]').clone(); 
      $(form).removeAttr('name'); 
      $(form).removeClass('hidden'); 
      $($(form).find('textarea')[0]).val($(pre).text()); 
      var id = $(pre).attr('id'); 
      $(form).find('div textarea[name=code]').first().attr('id', id); 
     $(pre).replaceWith(form); 
    }); 


    var n = 0; 
    $('input[type=button]').each(function() { 
      $(this).click(function (x) { 
       return function() { 
        execute(x); 
       }; 
      }(n++)) 
     } 
    ); 

    window.editors = []; 
    $('textarea[name=codeguru]').each(function() 
    { 
     window.editor = CodeMirror.fromTextArea(this, 
     { 
      lineNumbers: true, 
      matchBrackets: true, 
      mode: "application/x-httpd-perl", 
      tabMode: "shift" 
     }); 
      editors.push(editor); 
    }); 



}); 
function execute(idx) { 
     p5pkg.CORE.print = function(List__) { 
      var i; 
      for (i = 0; i < List__.length; i++) { 
      document.getElementById('print-result').value+=p5str(List__[i])   
      } 
      return true; 
     }; 
     p5pkg["main"]["v_^O"] = "browser"; 
     p5pkg["main"]["Hash_INC"]["Perlito5/strict.pm"] = "Perlito5/strict.pm"; 
     p5pkg["main"]["Hash_INC"]["Perlito5/warnings.pm"] = "Perlito5/warnings.pm"; 

     var source = editors[idx].getValue(); 
     alert(source); 

     var pos = 0; 
     var ast; 
     var match; 
     document.getElementById('print-result').value = ""; 
     try { 
      var start = new Date().getTime(); 
      var js_source = p5pkg["Perlito5"].compile_p5_to_js([source]); 
      var end = new Date().getTime(); 
      var time = end - start; 
      // run 
      start = new Date().getTime(); 
      eval(js_source); 
      end = new Date().getTime(); 
      time = end - start; 
     } 
     catch(err) { 
      //document.getElementById('log-result').value += "Error:\n"; 
     } 
    } 

Когда я запускаю этот код его отлично работает, дайте мне выход также , Но моя проблема заключается в том, что вывод выводится только в одной текстовой области. Я хочу напечатать вывод в последовательном текстовом поле.

Этот код в code.js печатает выходные данные.

p5pkg.CORE.print = function(List__) { 
    var i; 
    for (i = 0; i < List__.length; i++) { 
     document.getElementById('print-result').value += p5str(List__[i])      
    } 
} 

Так что я должен сделать для печати моего вывода в последовательном тексте. Пожалуйста, помогите мне.

+1

создайте текстовое поле и установите для него значение. – DevZer0

+0

first undestand questino –

+1

@ DevZer0 вы сказали, что хотите напечатать мой вывод в последовательном текстовом поле, должна быть текстовая область ... –

ответ

0

, используя тот же идентификатор для различных элементов страницы могут создать проблемы .. сделать текстовую область, как это ..

<textarea id="print-result" class='print-result' disabled="true" cols="77></textarea> 

Модифицированный код в code.js, который печатает вывод является

 p5pkg.CORE.print = function(List__) { 
      var i,concat=''; 
      for (i = 0; i < List__.length; i++) { 
      concat=$(".print-result").eq(idx).val(); 
      $(".print-result").eq(idx).val(concat+p5str(List__[i])); 

     } 
      return true; 
     } 
0

Добавить name attribute к вашему textarea как

<textarea id="print-result" disabled="true" name="code" cols="77"></textarea> 

вместо

<textarea id="print-result" disabled="true" cols="77"></textarea> 

Обновлено

В своем коде я не могу видеть textarea имея name="code", и вы используй это. Это codeguru?

+0

no bro thats not help me –

+0

bro codeguru - это класс предварительного тега. pre tag заменяется текстовым полем с помощью code.js, поэтому я использую codeguru –

+0

. Я где-то читал, что это можно сделать по этому ключевому слову. может кто-нибудь сказать мне, как это может пройти в этом конкретном примере –