如何将<div>作为表单<input>处理

Jei*_*ght 7 javascript php jquery post

我所做的是:

HTML

<form>
    <div id="textBox" contenteditable="true" name="textBox"><?php echo $storyText; ?>
    </div>
    <textarea id="hiddeninput" name="hiddeninput"></textarea>
    <input type="submit" id="save" name="save" value="Submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)

使用Javascript

$('#save').click(function () {
    var mysave = $('#textBox').html();
    $('#hiddeninput').val(mysave);
    $("form:first").submit();
    $('#hiddeninput').append(mysave);
    alert($('#hiddeninput').val());
});
Run Code Online (Sandbox Code Playgroud)

所以alert和append都会显示正确的信息,但是当我提交时它不会将#hiddeninput保存为php变量.最初我把它作为一种隐藏的输入法,但我试图证明无论我做什么它都不会发布,

pet*_*erm 15

您的代码几乎可以正常运行.但我宁愿使用普通<input type="hidden">,你不需要submit在你的情况下触发你的表单只需将值放在隐藏字段中.

鉴于您的标记,略有修改

<form action="showrequest.php">
<div id="textBox" contenteditable="true" name="textBox" style="width:300px;height:100px;">
</div>
<textarea id="hiddeninput" name="hiddeninput"></textarea>
<input type="submit" id="save" name="save" value="Submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)

JS

$(function(){
    $('#save').click(function () {
        var mysave = $('#textBox').html();
        $('#hiddeninput').val(mysave);
    });
});
Run Code Online (Sandbox Code Playgroud)

var_dump($_REQUEST) 在php方面给出

array(2) {
  ["hiddeninput"]=>
  string(4) "test"
  ["save"]=>
  string(6) "Submit"
}
Run Code Online (Sandbox Code Playgroud)


Jes*_*Lee 5

尝试绑定提交事件而不是单击事件.可能发生的事情是表单在设置textarea的值之前提交.

$('form').submit(function(){
    var mysave = $('#textBox').html();
    $('#hiddeninput').val(mysave);
});
Run Code Online (Sandbox Code Playgroud)

我用method ="get"测试了这个例子,并从div中获取了html以显示在URL中.