自動入力JavaScriptを育成

入力済FROMから自動入力JavaScriptを育成

<!--chromeThing:入力済FROMから自動入力JavaScriptを育成 - name属性が無いと取得できません!-->

javascript:

function SetInput(_name,_value){

return '_form[\'' + _name + '\'].value=\''+ _value +'\';'

}

var formIndex=0;

var ar = new Array();

var _form=document.getElementsByTagName('form')[formIndex];

var radioIndex =0;

var radioName='-';

var checkboxIndex =0;

var checkboxName='-';

var _select=_form.getElementsByTagName('select');

max =_select.length;

for (var i = 0 ; i < max ; i++){

var e=_select[i];

ar.push(SetInput(e.name,e.value));

}

var _textarea=_form.getElementsByTagName('textarea');

var max =_textarea.length;

for (var i = 0 ; i < max ; i++){

var e=_textarea[i];

var str=e.value;

str=str.replace(/(\n|\r)/g,'\\n');

ar.push(SetInput(e.name,str));

}

var _click='';

var _input=_form.getElementsByTagName("input");

var max =_input.length;

for (var i = 0 ; i < max ; i++){

var e=_input[i];

if(e.type=='text'||e.type=='password'){

ar.push(SetInput(e.name,e.value));

}

if(e.type=='radio'){

if(radioName==e.name){

radioIndex =radioIndex+1;

}else{

radioIndex =0;

}

if(e.checked){

ar.push( '_form[\''+ e.name + '\']['+ radioIndex +'].checked=true;' );

}

radioName=e.name;

}

if(e.type=='checkbox'){

if(checkboxName==e.name){

checkboxIndex =checkboxIndex+1;

}else{

checkboxIndex =0;

}

var jsc='_form[\''+ e.name + '\']['+ checkboxIndex +'].checked=';

if(_form[e.name].length==undefined){

jsc='_form[\''+ e.name + '\'].checked=';

}

if(e.checked){

ar.push( jsc+'true;' );

}else{

ar.push( jsc+'false;' );

}

checkboxName=e.name;

}

if(e.type=='submit'){

_click='_form[\''+ e.name + '\'].click();';

}

}

if(_click!=''){

ar.push('/*'+_click+'*/');

}

function disp(js,max){

var rem_div = document.getElementById('_result_div');

if(rem_div){rem_div.parentNode.removeChild(rem_div);}

var _div = document.createElement( 'div' );

_div .setAttribute( 'id' , '_result_div' );

var Dd = document.body.appendChild( _div );

var _textarea = document.createElement( 'textarea' );

_textarea.setAttribute( 'id' , '_result_ta' );

_textarea.setAttribute( 'cols' , 100 );

_textarea.setAttribute( 'rows' , max+3 );

var Ta = Dd.appendChild( _textarea );

Ta.value=js;

}

function j(){

var js='javascript:function do_input(){\nvar _form=document.getElementsByTagName(\'form\')[' + formIndex + '];\n';

max=ar.length;

for (var i = 0 ; i < max ; i++){

js=js+ar[i]+'\n';

}

js=js+'}do_input();';

var er=document.getElementsByTagName('TITLE')[0].text=js+'//';

disp(js,max);

window.scroll(0,document.body.scrollHeight);

}

j();