<script>
var fjmc=window.parent.document.all.fjmctext.value
document.getElementByIdx_x_x_x("aaa").value = fjmc
myForm.action="collectionSendToExcel.action"
myForm.submit()
</scritp>
<form action="#" id="myFormToExcel" name="myFormToExcel">
<input type="hidden" name="fjmc" id="aaa" />
<input type="text" name="action" />
<input type="submit" value="提交'>
</form>
通过Ajax传递:
function commit(){
var myMask = new Ext.LoadMask(Ext.getBody(), {msg: '正在提交数据,请稍后...'})
myMask.show()
Ext.Ajax.request({
form: 'myForm',
method: 'post',
success: function(response, option){
myMask.hide()
var results = Ext.util.JSON.decode(response.responseText)
var msgs = '【承兑保证操作成功!】'
switch(results.type){
case '1':
msgs = '【保证人账号不能为空,操作失败】'
break
case '2':
msgs = '【访问数据库发生异常,操作失败】'
break
}
Ext.Msg.show({
title:'信息提示',
modal:false,
msg: msgs,
buttons: Ext.Msg.OK,
fn:function(btn,text){
if(btn == 'ok'){
if(results.success){
comBack(g('SBillType').value)//返回列表
}
}
},
animEl: 'elId',
icon: Ext.MessageBox.INFO
})
},
failure: function(response,option){
myMask.hide()
Ext.MessageBox.alert("信息提示","【提交数据超时,请稍候再试...】")
}
})
}
还有就通过jquery 的ajax
var fjmc=window.parent.document.all.fjmctext.value
Ext.Ajax.request({
url : 'messageReport.action?' + param ,
method : 'post' ,
success : function(response){
var result = Ext.util.JSON.decode(response.responseText)
if(result.flag == 'success'){
Ext.Msg.alert('系统提示',result.msg,function(){
Ext.getCmp('requisitionGridId').getStore().reload()
})
}else{
Ext.MessageBox.alert('系统提示',result.msg,function(){
Ext.getCmp('requisitionGridId').getStore().reload()
})
}
}
})
})
-----------------------------------------------------------------------------------------
第四种方式:
<script type="text/javascript">
function collectionSendToExcel(){
var billNo=document . getElementById('billNo').value
var SOrgCode=document.getElementByIdx_x("SOrgCode").value
var account=document . getElementById('account').value
var SCustBankCode=document . getElementById('SCustBankCode').value
var operType=document . getElementById('operType').value
location.href="collectionSendToExcel.action?querybean.billNo=" + billNo+"&customer.SOrgCode"+SOrgCode+"&account.SAccountNo"+account+"&account.SCustBankCode"+SCustBankCode
}
</script>
如标题描述,最近关于这个gerrit的submit type的设置引起了一个问题,我大概模拟了下开发的提交场景,如下:开发A和开发B都在修改仓库repo_test的代码,开发A修改test1.txt 然后提交到gerrit上,并在gerrit上合入了这个提交(commitA),开发B没有执行git pull, 直接修改了test2.txt, 这个test2.txt和test1.txt没有任何关联性,是完全不相关的模块,然后开发B提交gerrit,然后gerrit上合入了这个提交(commitidB),此时,由于开发B的这个提交相对服务器少了开发A的改动提交,就自动生成了一条merge(叫commitB+吧),比如如下:
以上,B+是自动生成的merge,这个自动merge的记录在gerrit上是看不到的,真正的修改是在B,所以开发在gerrit上找到B,让我(职位:CM)在B节点标记tag,我在B标记tag后打包(我执行git checkout B),发现没有A的修改了,这就出问题了!!!但是git checkout B+就有A的提交!!
然后发现,是因为开发B没执行git pull ,没把A的改动带进去,所以提交的时候就自动产生了这个merge的提交记录,话说,使用rebase就不会产生,但是怎么搞呢?
然后发现了gerrit的submit type 可以控制:
默认的是“Merge if Necessary”, 这个就是在有差异的时候自动生成一条merge记录
所以换成“Rebase if Necessary”,这个会自动rebase,不会自动产生merge记录
如下是gerrit换成“rebase if Necessary”的提交记录:
STM32 对内部FLASH读写接口函数(转)
ymodem协议c实现(转)
STM32启动模式及API(转)
Keil STM32调试,使用ST-Link下载程序时提示“flash timeout.reset the target and try it again”
UVA 11020
LeetCode Maximal Square
Android中的消息机制
关于DPM(Deformable Part Model)算法中模型可视化的解释
Node.js能够做什么?
hdu 1071 The area
Linux经常使用命令(九)
[ACM] hdu 4248 A Famous Stone Collector (DP+组合)
linux程序设计——个人总结
poj3252-Round Number 组合数学
QML与C++交互:登陆界面设计
delphi2010发送邮件—中文显示为乱码解决
WCF探索之旅(五)——WCF与WebService的异同
数据库备份还原,日志清理代码
【Android】自己定义View、画家(画布)Canvas与画笔Paint的应用——绘图、涂鸦板app的实现
Berkeley DB基础教程
SSL和SSH的差别
在了解husky之前,我们需要先了解一下Git Hooks。Git Hooks是git提供的一些回调,在对应的git阶段,执行配置的脚本。
工作流钩子主要为以下4个,执行顺序 pre-commit >prepare-commit-msg >commit-msg >post-commit :
husky 的原理是在 .git/hooks/ 目录下各个钩子文件中添加以下脚本,并读取package.json中的配置,放在对应的钩子中执行:
npm安装完husky后,我们通过在 package.json 中配置,使git在 commit-msg 钩子后执行 bin/check-commit-msg.js :
bin/check-commit-msg.js 内容如下,非0值退出,Git将放弃提交: