views:

68

answers:

4

I have to copy and paste the values of input type="button" (ie value="1.25", value="3.50") from a lot of pages. Is it possible using jquery or greasemonkey?

<td>
    <input type="button" onmouseout="btnGiocataOut(this)" onmouseover="btnGiocataOver(this)" onclick="aggiungiScommessa(6659, 12, 22, 1, 125)" value="1.25" class="ris">
</td>
<td class="valore" colspan="1">Over</td>
<td>
    <input type="button" onmouseout="btnGiocataOut(this)" onmouseover="btnGiocataOver(this)" onclick="aggiungiScommessa(6659, 12, 22, 2, 350)" value="3.50" class="ris">
</td>
A: 

I use Firebug and jQuery in one-off situations like this. I load jQuery dynamically if necessary: $('<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" />').appendTo(document.body);. That goes in the Firebug console. Then I would use something like $('input').each(function() { console.log($(this).val()); });, and it would print out a list that I could easily copy. I would repet these steps for every page.

Reinis I.
+1  A: 

http://www.learningjquery.com/2006/12/jquerify-bookmarklet

JQuery bookmarklet - and then in firebug console:

$("input[type='button']").each(function() { console.log($(this).val()); }); 
Keir
A: 

Thank a lot! This is what firebug says:

Firebug cannot find firebugCommandLineAttached attribute on firebug console element, its too early for command line Window home.do

But if I copy the web site source, save as HTML then it works. Much better if it's possible to eliminate the buttons showing only their values so that it looks just as regular text and then it' easy to copy/paste. Is it possible?

+1  A: 

Yes, if you want to grab button values automatically, without futzing with Firebug on every page, Greasemonkey can do that.

Here's a script that should get you started. Be sure to adjust the @include statements to match your target sites.

//
// ==UserScript==
// @name            Button value grabber
// @namespace       Gambling
// @description     Grabs button values.
// @include         *
// @require         http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// ==/UserScript==
//

$(document).ready (Greasemonkey_main);

function Greasemonkey_main ()
{
    /*--- Create a container div and area for the values.  It will be styled and
        postioned with CSS.
    */
    $("body").append
    (
          '<div id="GM_PopUpDiv">'
        +   '<h3>Button Values on this page:</h3>'
        +   '<form id="GM_ContForm"><textarea id="GM_BtnValues"><\/textarea><\/form>'
        + '<\/div>'
    );

    //--- Make it almost invisible when not moused over.
    $('#GM_PopUpDiv').hover
    (
        function () { $(this).stop (true, false).fadeTo (50, 1); },
        function () { $(this).stop (true, false).fadeTo (900, 0.15); }
    );

    /*--- Copy the button values.   Fine-tune the selector to taste.
        For example, input.ris[type='button']
    */
    var NumRows = 0;
    var BtnVals = $("input[type='button']").map (function(J) {
                    NumRows = J;
                    return this.value;
                } ).get ().join ('\n')
                ;

    /*--- Paste the values into the textarea and adjust the height to the data
        (within the min/max set by CSS, below).
    */
    $("#GM_BtnValues").text (BtnVals). css ('height', NumRows + 4 + 'em');
}


//--- This is just CSS to make the new stuff look "purty".
GM_addStyle
(
   '#GM_PopUpDiv                                                    \
    {                                                               \
        font-size:              16px;                               \
        background:             wheat;                              \
        border:                 3px double #999999;                 \
        margin:                 5px;                                \
                                                                    \
        min-height:             100px;                              \
        min-width:              400px;                              \
        padding:                5px 20px;                           \
                                                                    \
        opacity:                0.15;                               \
        z-index:                1222;                               \
        position:               fixed;                              \
        top:                    0px;                                \
        left:                   0px;                                \
    }                                                               \
    #GM_PopUpDiv textarea                                           \
    {                                                               \
        font-size:              16px;                               \
        min-height:             6em;                                \
        max-height:             32em;                               \
        width:                  100%;                               \
        padding:                8px;                                \
        word-wrap:              normal;                             \
    }                                                               \
    #GM_PopUpDiv h3                                                 \
    {                                                               \
        font-size:              16px;                               \
        text-align:             left;                               \
        margin:                 0px;                                \
    }                                                               \
   '
);
Brock Adams
Yesss it works! Thank you!
You're welcome.
Brock Adams