提交前更改字段值

时间:2016-12-02 12:44:16

标签: javascript jquery

我希望在发布

之前使用js markdown转换器从表单的textarea转换文本

现在我有了这段代码:

var message_textarea = $("#message_text");
...    

$('#message-form').submit(function()
{
  message_textarea.val(converter.makeHtml(message_textarea.val()));
})

它有效,但我想更改它,以便表单在发送之前不会在文本框中显示更改。 我该怎么办?

3 个答案:

答案 0 :(得分:2)

print (df[['DEP1','DEP2','DEP3' ]].groupby([df.SHIFT]).count()) DEP1 DEP2 DEP3 SHIFT AM 2 3 2 PM 1 1 1 df = df[['DEP1','DEP2','DEP3' ]].groupby([df.SHIFT]).count().sum(axis=1) print (df) SHIFT AM 7 PM 3 dtype: int64 添加input hidden个新form类型:

<input type='hidden' id='hidden_message_text' />

然后在submit上填写转换后的数据:

var hidden_message_textarea = $("#hidden_message_text");

hidden_message_textarea.val(converter.makeHtml(message_textarea.val()));

希望这有帮助。

答案 1 :(得分:0)

更改textarea的内容会将其显示在DOM上。您可以尝试使用单独的隐藏文本区域。含义显示的区域包含普通文本,隐藏区域包含降价。

您还可以尝试序列化表单,更改内容并使用提交事件中的ajax提交内容。

答案 2 :(得分:0)

You can avoid Form submission and send data to server via AJAX call.
Here is example from Jquery docs 

<pre>
<form>
  <div><input type="text" name="a" value="1" id="a"></div>
  <div><input type="text" name="b" value="2" id="b"></div>
  <div><input type="hidden" name="c" value="3" id="c"></div>
  <div>
    <textarea name="d" rows="8" cols="40">4</textarea>
  </div>
  <div><select name="e">
    <option value="5" selected="selected">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
  </select></div>
  <div>
    <input type="checkbox" name="f" value="8" id="f">
  </div>
  <div>
    <input type="submit" name="g" value="Submit" id="g">
  </div>
</form>
<script>
   $( "form" ).submit(function( event ) {
     var data =  $( this ).serializeArray() ;
     event.preventDefault();
     $.ajax({
        type: "POST",
        url: '--some-url--',
        data: data,
        success: function(){/* callback*/}
      });
   });
</script>
</pre>