不用action提交表单——JS实现

多后端系统统一聚合与智能分流:用 Multi Origin Composition 与 Routing 打造一套可扩展的 SAP Gateway 架构 本文针对企业级SAP集成场景,详细介绍了如何利用SAP Gateway的MOC(多源组合)和Routing功能实现多后端系统的智能路由与数据聚合。通过系统别名配置、用户角色绑定和主机名分流等机制,可实现按用户、按域名的精确路由。文章还提供了配置清单、性能优化建议和常见问题解决方案,帮助工程师落地多后端OData服务的最佳实践。 阅读详情

通常表单的提交有两种方式,一是直接通过html的form提交,代码如下:

<form action="" method="" id="forms">
    <input type="text" name="username" value="" />
    <input type="password" name="pwd" value="" />
    <input type="submit" value="提交"/>
</form>

但有时候我们会出于安全角度考虑,给用户输入的密码进行加密,方法一就没办法解决这个问题,这时候我们同常会选择另一种方法,使用javaScript来进行表单提交,代码入下:


<!--HTML-->
<form action="" method="" id="test_form">
    <input type="text" name="username" value="" />
    <input type="password" name="pwd" value="" />
    <button type="button" onclick='doSubmitForm()'>提交<button/>
</form>


<script>
var form = document.getElementById('test_form');
//再次修改input内容

form.submit();
</script>

这种方法有个缺点就是,打乱正常的表单提交程序,通常用户输入完成后点击回车键就可以提交,但是这个方法实现不了,所以,使用下面的方法便可以解决这个问题,,通过form自身的onsubmit方法,来触发提交,然后进行input的修改:


<!--HTML-->
<form id='test_form' action='' method='' omsubmit='return checkForm()'>
    <input type='text' name='username' value=''/>
    <input type='password' name='pwd' value =''/>
    <button type='submit'>提交<button/>
<form/>

<script>
function checkForm(){
    var form = document.getElementById('test_form');
    //可在此修改input            
    //进行下一步
    return ture;
}
<script/>

注意,checkForm()方法中,return true时,表单才会正常提交,为false时,浏览器将不会提交,通常是用户的密码输入错误时,终止提交。

之前说过,为安全考虑用户提交时,一般对密码进行加密处理,代码如下:


<!--HTML-->
<form id='test_form' action='' method='' omsubmit='return checkForm()'>
    <input type='text' name='username' value=''/>
    <input type='password' name='pwd' id='pwd' value =''/>
    <button type='submit'>提交<button/>
<form/>

<script>
function checkForm(){
    var pwd= document.getElementById('pwd');
   pwd.value= toMD5(pwd.value);            
    //进行下一步
    return ture;
}
<script/>

这种做法看上去没问题,但是当用户输入完成后,提交会发现密码框的 * 会由几个瞬间变成 32个,这是由于MD5加密造成的(MD5有32个字符);如果想避免出现这种情况,需要充分利用到<input type='hidden'>,代码如下:

 


<!--HTML-->
<form id='test_form' action='' method='' omsubmit='return checkForm()'>
    <input type='text' name='username' value=''/>
    <input type='password'  id='input_pwd' value =''/>
    <input type='hidden' name='pwd' id='md5_pwd' value=''/>
    <button type='submit'>提交<button/>
<form/>

<script>
function checkForm(){
    var input_pwd= document.getElementById('input_pwd');
    var md5_pwd= document.getElementById('md5_pwd');
     md5_pwd.value= toMD5(input_pwd.value);            
    //进行下一步
    return ture;
}
<script/>

 

注意,<input type='password'/>是用户输入密码的input框并没有设置 name 属性,而是给 <input type='hidden' /> 设置了 name='pwd',这样表单提交只会提交带有name属性的输入框,从而解决了上面的那个问题。

 转自:https://www.cnblogs.com/web-wjg/p/7894657.html


使用Qt编译Qt WebEngine 这就是使用Qt编译Qt WebEngine模块的基本步骤。通过按照上述步骤,您应该能够成功编译和使用Qt WebEngine来嵌入Web内容到您的Qt应用程序中。Qt WebEngine是Qt框架的一个模块,它提供了一个现代的Web浏览器引擎,可以在Qt应用程序中嵌入Web内容。首先,需要获取Qt的源代码。如果尚未安装,可以从Qt官方网站下载并安装Qt。完成Qt的安装后,您可以构建并运行Qt WebEngine示例来验证编译是否成功。这将把编译好的Qt库文件和头文件安装到之前指定的安装目录中。 阅读详情

相关推荐

MySQL 8.0数据库崩了别慌!手把手教你仅凭一个.ibd文件找回数据(附Go工具包)

本文详细介绍了在MySQL 8.0数据库崩溃后,如何仅凭.ibd文件恢复数据的完整流程。通过使用Go语言工具包和ALTER TABLE技巧,即使没有备份也能实现数据重生。文章包含从环境准备到数据验证的全方位指导,帮助DBA和开发者应对紧急数据恢复场景。

weixin_29235923的博客 420

js实现form的submit请求

代码 /** * 登录 * created by lius on 2020-05-23 * */ loginCA(){ // 创建表单 var dlform = document.createElement('form'); dlform.style = "display:none;"; dlform.method = 'get'; dlform.action = this.$api.paths.ssopath + '/v1/weblogin/check/user/redirect';

日常笔记/总结/系列知识梳理 6348

银河麒麟V10 SP3离线安装Nginx1.21.5全记录(附11个rpm包下载清单)

本文详细记录了在银河麒麟V10 SP3操作系统上离线安装Nginx 1.21.5的全过程,包括11个必备rpm包的下载清单。通过分步骤的实战指南,帮助用户在国产化环境中高效部署Nginx服务,涵盖安装、配置、调优及故障排查等关键环节,特别适合金融、政务等对安全性要求高的场景。

weixin_30872337的博客 606

js的submit()方法详解

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/1999/xhtml">杂志缩略图管理 function testa(){document.getElementById("forma").action="www.ba.com";document.getElementById("forma").su

mengshan1986的专栏 8396

原创_新魔百和CM201-1鸿蒙架构当贝乐家语音安卓9线刷固件包刷机教程可救砖rom刷机包

不用担心变砖,因为系统内核会自动判断分区及CPU等级,假设你CPU是高于S905L3的那么。7.adb功能支持,系统增加开机自启功能,添加老人桌面模式,默认为年轻化桌面;所以我发的这个固件可适用于_cw_ys_zg_zn代工上生产的盒子进行刷机;5.CPU及GPU算法更改,当观看4K片源时,AI智能会自动优化系统后台进程,正如我所说,本固件是采用安卓公版镜像制作而成,那么代工厂也是使用的公版镜像,1.移植鸿蒙架构代码,完美融合安卓系统,增加系统的稳定性;刷机的时候 他会自动短接链接,所以不存在变砖。

a138088150的博客 1万+

手把手教你学 Simulink (1.3):探索Simulink模块库的奇妙世界

Simulink模块库按照功能分为多个类别,每个类别包含专门用于特定任务的模块。% 打开Simulink库浏览器% 或者以编程方式获取库列表disp('可用的库列表:');end常用模块(Simulink):最基础和最常用的模块信号处理模块(DSP System Toolbox):专业信号处理工具通信模块(Communications Toolbox):通信系统设计控制系统模块(Control System Toolbox):控制系统设计与分析% 创建自定义模块库。

QQ_778132974的博客 384

[系统安全] 十六.PE文件逆向基础知识(PE解析和PE编辑工具)

您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系统,更加深入,也是作者的慢慢成长史。换专业确实挺难的,逆向分析也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~ 作者前面介绍了三个漏洞,包括Chrome浏览器保留密码渗透解析、通过Chrome浏

杨秀璋的专栏 1万+

js 通用表单提交2-submit的控制和ajax提交

通过上次的尝试我们发现表单中可以通过onsubmit来一定程度的控制form的submit动作。但是很快我们就发现这种情况下无法控制submit的后续动作,也就是页面跳转。那么怎么解决这个问题呢,我们进一步可以观察发现大多数时候我们是通过一个type=submit的按钮来实现表单提交的。也就是在form的onsubmit之前,我们实际上会有一个点击按钮的操作,那么我们就可以通过阻止按钮的默认动作来阻止form的submit。 然后由此引申我们可以创造一个另外的按钮用来提交form,举个小例子:

leiting084的专栏 1599

PHM2010刀具磨损预测完整实现

本文介绍了PHM2010刀具磨损预测项目的完整实现方案。项目采用PHM2010公开数据集,包含6个子数据集,记录了铣削加工过程中7个通道的传感器数据(切削力、振动和声发射信号)。技术路线包括数据预处理(截取中间10万点、小波降噪)、特征提取(时域9个、频域4个特征)、特征融合和皮尔逊相关系数筛选,最终使用BiLSTM模型进行训练和评估。环境配置基于Python 3.9,依赖NumPy、Pandas、PyTorch等库。数据加载和预处理阶段重点处理了传感器信号分段和磨损标签对齐问题,为后续建模奠定基础。

huanghm88的专栏 421

基于ESP32的室内空气质量检测系统开发

随着环境污染问题的日益严重,室内空气质量的监测变得越来越重要。室内空气质量的好坏直接影响到人们的健康,尤其是对于在封闭空间长时间待着的人群。为此,基于ESP32的室内空气质量检测系统应运而生。ESP32作为一款集成了Wi-Fi和蓝牙的高性能微控制器,为嵌入式开发提供了良好的平台,适用于构建各种智能硬件设备。本博客将详细介绍如何基于ESP32开发一个室内空气质量检测系统。系统可以实时监测空气中的温度、湿度、二氧化碳浓度、甲醛浓度等指标,并通过Wi-Fi将数据传输到云端或移动设备,方便用户随时查看空气质量情况。

2201_76125393的博客 832

JS--JavaScript提交表单(submit事件)、重置表单、取消默认提交表单(单击按钮、回车)

提交表单 使用< input > 或 < button >标签都可以定义提交按钮,只要将type属性值设置为“submit”即可,而图像按钮则是通过将 < input >的type属性值设为“image”。当单击按钮或图像按钮时,就会提交表单。 submit事件类型仅在表单内提交按钮,或者在文本框中输入文本时按回车键触发。 示例1:单击【提交】按钮后,触发sub...

吴声子夜歌的博客 1万+

第四章:无感FOC的平滑启动艺术:告别“咔哒”声与抖动

无感FOC启动技术面临"先有位置还是先有旋转"的核心矛盾,导致常见故障包括位置失准、负载突变等。基础方案采用开环I/F控制,但存在重载启动困难等局限性。进阶方案结合IPD位置检测技术,通过脉冲电压注入法精准定位转子初始位置。关键技术在于开环到闭环的平滑切换,采用混合观测器设计和相位对齐技术。量产优化包括自适应参数整定和故障恢复机制,确保启动可靠性和一致性。该系统工程方案可有效解决启动抖动、异响等问题,提升用户体验。

汽车软件开发 740

js控制form提交的action

 js控制form提交的action2008-07-18 20:18js脚本:function doUrl(actionUrl){   verform.action = actionUrl;   verform.submit();}form表单控制:   ……   function checkaction(v){if(v==0){   docum

太极拳 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

使用JS提交表单,该表action

function replace(){myForm.action=bb.html; myForm.method=POST; myForm.submit(); } 使用这个方法可以使用多个内容来提交表单myForm.action=index.php?act=edit; myForm.method=POST; myForm.submit(); myForm.

信缘的人 3516

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Js控制 form 提交到不同的action

 <span lang="EN-US" style="font-size:12.0pt;font-family:宋体;mso-bidi-font-family:Arial;color:black;mso-font-kerning:0pt">js<span style="font-size:12.0pt;font-family:宋体;mso-bidi-font-family:Arial;co

mypurse的专栏 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JS控制form表单action去向

不知道大家遇没遇到这种情况,当我们提交一个表单的时候,可能因为相关的参数不同而需提交给不同的action地址。这时我们就可以用JS来实现这种功能。 =============== 把相同的内

wangchaoqi1985的博客 3963

js动态更改Form表单action,进行提交

**********************************step1****************************************** /mer/exportExcel!exportCsv1.action" method="post"> 商户名称: 法人姓名: 查找 清空 导出EXCEL 导出EXCEL1

u010090328的专栏 6566

前端使用js提交表单与action提交对比

先看一个普通的thymeleaf表单提交 <form action="update" method="post"> 班级名称:<input name="bjname" th:value="${bj.bjname}"/> <input type="hidden" name="id" th:value="${bj.id}"/> <input type="...

zhh_1998的博客 376

JS返回false表单仍然提交Action的问题

<form action="XXX" enctype="multipart/form-data" method="post" onsubmit="return check()"> <input id="myfile" name="myfile" type="file" /> <input type="submit" value="Excel转Html" />&nbsp;</form> </body> <script..

WEN_Windy的博客 543

工作中遇到的问题:关于form表单提交的问题--无action

今天在写一个JSP表单提交的时候,遇到了一个关于action为空时提交的问题,由于实际工作中的情况较复杂,但下面仅将问题的关键记录下来,以方便回忆。 首先表单如下: 可以看到,上面的frm1的action没写,因为这个页面上面还有一些内嵌的JAVA处理代码(这种方式很不好,不过由于这个系统较老,公司都是用这种方式,所以没有做改变),所以我本意就是要提交到本页面来进行处理,原

jason_279的专栏 2559

JavaScript表单提交

JavaScript表单提交 开发工具与关键技术:Visual Studio 2015 与 JavaScript 撰写时间:2020年4月30日 form表单的属性action 与method 属性 值 描述 action URL 规定当提交表单时向何处发送表单数据 method get/post 规定用于发送form-data的HTTP方法。(提交表单的...

Gksjn的博客 328

form表单action提交问题详解

https://yq.aliyun.com/ziliao/64915form 提交action中参数无效页面通过表单(form)想服务器提交数据的时候有两种形式,一个是POST,另一个是GET。两种的一个区别是GET会直接把数据附加在url的后面,而POST发送的数据放置在http包中。form的action属性就是提交数据的url地址,method属性可以指定是GET或POST。需要注意的是如果...

JavaNotes的博客 3万+

action 表单提交

<form action="xx" id="loginform" method="POST" > <div>用户名:<input type="text" name="user_name" id="user_name" /></div> <input type="submit" onclick="return doSubmitForm(...

萌新不会永远是萌新的博客 604

防止表单重复提交的新方法(action拦截法)。

  前一段写了一篇关于防止表单重复提交 的代码,主要是通过替换表单的submit方法,并且添加表单的onsubmit事件实现的,有兴趣的朋友可以看:http://blog.youkuaiyun.com/mmcgzs/archive/2007/01/10/1479412.aspx。  今天看 javascript权威指南 的时候看到form的action属性类似于a元素的href属性,不但可以直接写普通url,

冬天的蚊子 2630

html form 部分提交,form表单action提交的js部分与html部分

form表单action提交的js部分与html部分发布于 2017-01-24 20:18:42 | 130 次阅读 | 评论: 0 | 来源: 网友投递JavaScript客户端脚本语言Javascript 是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供...

weixin_36071439的博客 519
上一篇: Web开发中的路径问题
下一篇: PreparedStatement ps = conn.prepareStatement(sql);在eclipse中跑不通的问题,http报错500
xrn1997
博客等级 码龄9年 83粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值