如何在提交时调用javascript函数为输入赋值? (ACE编辑)

时间:2012-10-01 13:14:07

标签: javascript html forms submit ace-editor

我的目标是将ACE编辑器中的代码作为变量发送到send.php PHP文件。我在许多不同的方法中尝试了这个,但是我无法将编辑器中的代码分配给表单输入。


的JavaScript

此javascript函数应为id="code"的元素指定一个值,即:<input type="hidden" id="code" value="" />

editor.getSession().getValue();返回编辑器内的代码。

<head>
 <script>

   function getVal() {
   document.getElementById('code').value = editor.getSession().getValue();
   }

 </script>
</head>

HTML

现在,<form onsubmit="getVal();"应在用户提交表单时执行function getVal(),以便在将输入发送到code文件时send.php输入将具有值。

<body>

  <div>
     <form onsubmit="getVal();" method="post" action="send.php">

        <label for="Name">From:</label>
        <input type="text" name="Name" id="Name" />
        <label for="Address">To:</label>
        <input type="text" name="Address" id="Address" />
        <label for="Subject">Subject:</label>
        <input type="text" name="Subject" id="Subject" />

        <input type="hidden" id="code" value="" />

        <div id="editor"> //ACE Editor
        </div>

        <input type="submit">

     </form>
  </div>

2 个答案:

答案 0 :(得分:2)

这个功能是我需要的功能:

function getVal()
{
  var editor = ace.edit("editor"); 
  // this line is necessary
  // "editor" is the id of the ACE editor div

  var code = editor.getSession().getValue();

  document.getElementById('code').value = code;
}

答案 1 :(得分:0)

代码是正确的,editor.getSession()。getValue()为null所以它什么都不写!