javascript - 如何在html中使用jquery打印表单值

标签 javascript jquery html forms

假设我有一个包含一些输入值(姓名、手机号码、年龄和性别)的表单。

填写表单后,单击“提交”按钮,我想打印表单值。

我已经尝试过使用 jQuery,但没有得到确切的结果。

这是我的结果

enter image description here

但是我想像这样打印表单数据

Name : Raff
Mobile Number : 016******* 
Age : ** 
Gender : Male

这是我的表格

<form action="{{url('/add-prescription')}}" method="post" id="new_prescription_form">
                <input type="hidden" name="_token" value="{{ csrf_token() }}">

                <div class="row clearfix">
                    <div class="col-lg-8 col-md-8 col-sm-12 col-xs-8">
                        <div class="card">
                            <div class="body">
                                <div class="row clearfix">
                                    <div class="col-sm-6">
                                        <div class="form-group">
                                            <div class="form-line">
                                                 <b>Name: </b>
                                                <input type="text" id="name" class="form-control" placeholder="" name="name" required/>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="col-sm-6">
                                        <div class="form-group">
                                            <div class="form-line">
                                                 <b>Mobile Number: </b>
                                                <input type="text" id="mobile_number" class="form-control" placeholder="" name="mobile_number" required/>
                                            </div>
                                        </div>
                                    </div>
                                </div>

                                <div class="row clearfix">
                                    <div class="col-sm-6">
                                        <div class="form-group">
                                            <div class="form-line">
                                                 <b>Age: </b>
                                                <input type="text" id="age" class="form-control" placeholder="" name="age" required/>
                                            </div>
                                        </div>
                                    </div>
                                    <div class= "col-sm-6">
                                         <b>Gender: </b>
                                        <select id="gender" class="form-control show-tick" name="gender" required>
                                            <option value="">-- Please select --</option>
                                            <option value="1">Male</option>
                                            <option value="2">Female</option>
                                            <option value="3">Others</option>
                                        </select>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="row clearfix">
                    <div class="form-group">
                        <button type="submit" class="btn btn-primary m-t-15 waves-effect" value="print" onclick="PrintElem()">SUBMIT</button>
                    </div> 
                </div>

            </form>

jQuery

function PrintElem()
    {
        var divToPrint=document.getElementById('new_prescription_form');

        var newWin=window.open('','Print-Window');

        newWin.document.open();

        newWin.document.write('<html><body onload="window.print()">'+divToPrint.innerHTML+'</body></html>');

        newWin.document.close();

        setTimeout(function(){newWin.close();},10); 
    }

如何解决这个问题?请大家帮忙。

最佳答案

您必须获取输入字段的值并将其添加到打印 HTML 中,这可以使用 JavaScript 来实现,您不需要为此使用 JQuery。

用这个更新你的 PrintElem 函数并检查

function PrintElem()
{
    var name = document.getElementById('name').value;
    var mobile_number =  document.getElementById('mobile_number').value;
    var age = document.getElementById('age').value;
    var gender = document.getElementById('gender').value;
    var divToPrint=document.getElementById('new_prescription_form');

    var newWin=window.open('','Print-Window');

    newWin.document.open();

    newWin.document.write('<html><body onload="window.print()"><div><p><lable>Name :</lable><span>'+name+'</span></p><p><lable>Mobile Number :</lable><span>'+mobile_number+'</span></p><p><lable>Age:</lable><span>'+age+'</span></p><p><lable>Gender</lable><span>'+gender+'</span></p></div></body></html>');

    newWin.document.close();

    setTimeout(function(){newWin.close();},10); 
}

希望这对你有用

关于javascript - 如何在html中使用jquery打印表单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54683621/

相关文章:

javascript - Transform 不适用于 jQuery .animate()

javascript - 如何将 "\\u00e2"或 "\\u00ea"等字符解码为 un​​icode 字符?

javascript - 使用 jQuery 访问父元素的第一个/最后一个子元素中的数据属性

javascript - 剑道网格选择焦点上的单元格数据

javascript - Node.js 中实例化对象的常用方法是什么?

javascript - 带有 Angular 的响应式(Reactive)下拉菜单

javascript - 单击关闭或外部单击时的 Bootstrap 模式不会停止 youTube 视频

javascript - 如何操作浏览器历史记录并捕获浏览器后退/前进按钮?

html - 媒体查询的多重转换

Javascript 代码可以工作,但 Firebug 中出现 "not defined"警告